#include
#include
int main(void)
{
int flag=0;
float x,y;
char c,a;
do
{
printf("Please enter the expression:\n");
scanf("%f %c %f",&x, &c, &y);
switch(c)
{
case '+':
printf("%f + %f = %f\n", x, y, x+y);break;
case '-':
printf("%f - %f = %f\n", x, y, x-y);break;
case '*':
printf("%f * %f = %f\n", x, y, x*y);break;
case '/':
if (0==y)
printf("Division by zero!");
else
printf("%f / %f = %f\n", x, y, x/y);break;
default:
printf("Unknown operator! ");break;
}
printf("Do you want to continue(Y/N or y/n)?");
scanf("%c",&a);
if(a=='y'|| a=='Y')
{
flag=1;
}
else
{
printf("Program is over!");
}
} while (flag==1);
return 0;
}
scanf("%c",&a); 这句之前加个getchar();接收前面输入数据后的换行符。否则a会接收换行符,因此退出了