四则运算 算不出带小数的结果 求助
#include <stdio.h>//最简单计算器,支持四则运算int main()
{
int in1 , in2;
char yunsuanfu;
int result;
printf("请输入式子:");
scanf("%d %c %d",&in1 , &yunsuanfu ,&in2 );
if ( yunsuanfu == '/' && in2 ==0)
{
printf("除数不能为零\n");
}
switch(yunsuanfu)
{
case '+' : printf ("结果是:%.3f\n",(float)-in2 );
case '-' : printf ("结果是:%.3f\n",(float)in1 - in2 );break;
case '*' : printf ("结果是:%.3f\n",(float)in1 * in2 );break;
case '/' : printf ("结果是:%.3f\n",(float)in1 / in2 );break;
default : printf("输入错误。。。。。\n"); break;
}
return 0;
}
这是结果
请输入式子:12 *3
结果是:36.000
PS C:\Users\MI\Documents\Notes\switch> cd "c:\Users\MI\Documents\Notes\switch\" ; if ($?) { gcc work1.c -o work1 } ; if ($?) { .\work1 }
请输入式子:1.2 * 3
输入错误。。。。。
PS C:\Users\MI\Documents\Notes\switch>
来个老哥指教一下新手 {:10_266:}{:10_266:}{:10_266:} 本帖最后由 Silent.W 于 2021-11-3 18:50 编辑
scanf输入错了,把in1和in2的定义都换成float就可以了。 很快
页:
[1]