#include
int main()
{
int i,j,d;
char c;
scanf("%d%c%d",&i,&c,&j);
switch(c)
{
case '+':
d=i+j;break;
case '-':
d=i-j;break;
case '*':
d=i*j;break;
case '/':
if(j!=0)d=i/j;
else
{
printf("Can not divided by 0!\n");
return 1;
}
}
printf("%d%c%d=%d\n",i,c,j,d);
system("pause");
return 0;
}
int a=0;
int b=0;
printf("请输入被除数:");
scanf("%d",&a);
printf("请输入除数:");
scanf("%d",&b);
float result = (float)a/(float)b;
printf("%d/%d=%0.2f\n",a,b,result);
整数相除,结果要显示小数,所以结果的类型必须为float行,所以在除之前需要先将2个整数都转换成float型,真阳结果就是float,最后,结果需要显示几位,可以用printf来控制,%0.2f表示显示小数后边2位数。
float calc(float a, float b, char op)
{
switch (op){
case '+': return a + b;
case '-': return a - b;
case '*': return a * b;
case '/': if (b) return a / b;
default: return 0;
}
}
int main()
{
char op;
int a, b;
while (1)
{
float res;
scanf("%d%[+-*/]%d", &a, &op, &b);
res = calc((float)a, (float)b, op);
if (res == (int) res)
printf("%d%c%d=%d\n", a, op, b, (int)res);
else
printf("%d%c%d=%f\n", a, op, b, res);
}
return 0;
}
float a,b,c;scanf("%f%f",&a,&b);c=a*b;printf("%d",c);
计算时,把除数强制转换成float,结果存储在float变量