表达式计算
输入a,b为整型。
若运算符是+、-、*,中的任意一个,则进行相应运算。
若为 / 或 % 。
先判断 b 是否为0,并做相应处理。
#include<stdio.h>
int main(){
int a, b;
char c;
scanf("%d %c %d",&a,&c,&b);
switch(c){
case '+': printf("%d+%d=%d\n",a,b,a+b); break;
case '-': printf("%d-%d=%d\n",a,b,a-b); break;
case '*': printf("%d*%d=%d\n",a,b,a*b); break;
case '/': if(b == 0)
printf("Divide 0 error!\n");
else
printf("%d/%d=%d\n",a,b,a/b);
break;
case '%': if(b == 0)
printf("Divide 0 error!\n");
else
printf("%dmod%d\n",a,b,a%b);
break;
default: printf("Operator error!\n");
}
return 0;
}
**
**
**
第一次书写为
scanf("%d %d %c",&a,&b,&c);
而在屏幕上敲数据的时候习惯性敲了 8 / 3
没有与scanf中的数据类型对应
即 %d——8
%d——/
%c——3
**
**
**
第一次修正为
scanf("%d %c d%",&a,&b,&c);
第三个字符形式 错误
d%——%d
**
**
case '%': if(b == 0)
printf("Divide 0 error!\n");
else
printf("%dmod%d\n",a,b,a/b);
printf中的为 / 没有与case中判断的 % 对应
**
**
**
第二次修正
scanf("%d %c %d",&a,&c,&b);
**
**
case '%': if(b == 0)
printf("Divide 0 error!\n");
else
printf("%dmod%d\n",a,b,a%b);