任务描述
要求能够连续做多次算术运算,每次运算结束后,根据程序给出提示决定是否要继续进行下一次运算。
编程要求
根据提示,在右侧编辑器补充代码,实现能重复进行算术运算的简单计算器。 要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2
计算表达式的值,指定的算数运算符为加(+)、减(-)、乘(*)、除(/)。
要求: (1) 操作数是实型数。 (2) 要求输入的算数表达式中操作数和运算符之间可以加入任意多个空白符。 (3) 乘法的操作符除了符号*之外,还可以是x与X作为乘号。 (4) 每次运算结束后,程序都给出提示: Do you want to continue (Y/N or y/n)? 用户输入Y或y时,程序继续进行其他算术运算;否则程序退出运行状态。
#include<stdio.h>
#include<math.h>
int main()
{
float a,b;
char ch;
char op,reply;
do
{
printf("Please enter the expression:");
scanf("%f %c %f",&a,&ch,&b);
printf("\n");
switch(ch)
{
case '+':
printf("%f %c %f = %f",a,ch,b,a+b);
break;
case '-':
printf("%f %c %f = %f",a,ch,b,a-b);
break;
case '/':
if(b==0)
{
printf("Division by zero!");
}
else
{
printf("%f %c %f = %f",a,ch,b,a/b);
}
break;
case 'x':
case 'X':
printf("%f * %f = %f",a,b,a*b);
break;
case '*':
printf("%f %c %f = %f",a,ch,b,a*b);
break;
default:
printf("Unknown operator!");
break;
}
printf("\nDo you want to continue (Y/N or y/n)?\n");
scanf(" %c",&reply);
}
while(reply=='Y' || reply=='y');
printf("Over!");
return 0;
}