题目:模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
输入格式:
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
输入格式:
输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。
输入样例:
输出样例:
要求:
思路:
通过循环来进行数据的输入,利用switch语句来进行加减乘除的判断;
代码如下:
#include<stdio.h>
int main(){
int a,b,x; //定义参与运算的数据与结果
char c; //定义符号
scanf("%d%c",&a,&c); //输入第一个数和符号
x=a;
while(c!='='){ //如果c不是'=',则输入第二个数
scanf("%d",&b);
switch(c) //判断c
{
case '+':x=x+b;break;
case '-':x=x-b;break;
case '*':x=x*b;break;
case '/':if(b==0){
printf("ERROR"); //若分母为零输出ERROR
return 0; //结束
}
x=x/b;break;
default:printf("ERROR");return 0;//c为其他字符时结束
}
scanf("%c",&c);//再次输入运算符
}
printf("%d",x);//最后输出运算结果x
return 0;
}
运行结果: