题目描述
老式计算器只能进行+-*/四种运算,现在请你实现代码将给你的算式进行计算。
输入
三个元素x c y,分别表示整数1、运算符、整数2,如5 + 7中间由空格分隔。保证-100<=x,y<=100,c为"+-*/"的某一个。
输出
输出运算结果,若结果为整数则输出整数,否则输出保留2位小数。 若数据非法则输出"ERROR!"。
样例输入 Copy
5 + 7
样例输出 Copy
12
题目分析:输入两个整数,当运算符为+,-,*时,结果一定为整数。当运算符为/时,结果可能为整数也可能为小数,关键在于判断结果是否为整数。
#include<stdio.h>
int main()
{
int a,b;
char c;
double t;
scanf("%d %c %d",&a,&c,&b);
if(c=='+')printf("%d",a+b);
else if(c=='-')printf("%d",a-b);
else if(c=='*')printf("%d",a*b);
else if(c=='/'&&b!=0)
{t=a*1.0/b;//求出t的值,t为double型,是小数。
if(t==a/b)printf("%d",a/b);//a/b得出的结果为整数,如果t==a/b
,说明t是整数;否则为小数。
else printf("%.2lf",t);}
else if(c=='/'&&b==0)printf("ERROR!");
return 0;
}