s1e12
为什么我的1 / 8会自动四舍五入结果变成0.13 提问题为什么不发代码?人造人 发表于 2021-9-26 12:27
提问题为什么不发代码?
哦哦不好意思忘了,复制小甲鱼课后作业标答的,测试一遍发现跟小甲鱼发的0.12不一样
#include <stdio.h>
#include <stdbool.h>
int main()
{
float op1, op2;
char ch;
float result;
bool invalid = false;
printf("请输入式子:");
scanf("%f %c %f", &op1, &ch, &op2);
switch (ch)
{
case '-': op2 = -op2; // no break
case '+': result = op1 + op2; break;
case '*': result = op1 * op2; break;
case '/':
if (op2 != 0)
{
result = op1 / op2;
break;
}
else
{
invalid = true;
break;
}
}
if (invalid)
{
printf("除数不能为零!\n");
}
else
{
printf("结果是:%.2f\n", result);
}
return 0;
} znuxc 发表于 2021-9-26 20:15
哦哦不好意思忘了,复制小甲鱼课后作业标答的,测试一遍发现跟小甲鱼发的0.12不一样
#include
#includ ...
问题解决了? 人造人 发表于 2021-9-26 20:19
问题解决了?
还没,感觉大佬你会 znuxc 发表于 2021-9-26 20:22
还没,感觉大佬你会
问题没有解决,就不要提前设置最佳,我还以为问题解决了,还好我问了你一下
printf("结果是:%.2f\n", result);
%.1f 保留 1 位小数
%.2f 保留 2 位小数
%.3f 保留 3 位小数
。。。
最终结果四舍五入
人造人 发表于 2021-9-26 20:30
最终结果四舍五入
哦哦是这样,我记得小甲鱼说是不会四舍五入的,可能是我记错了 znuxc 发表于 2021-9-26 20:37
哦哦是这样,我记得小甲鱼说是不会四舍五入的,可能是我记错了
1 / 8 确实不会四舍五入,整数 / 整数 的结果是 整数
下面这 3 个就会四舍五入,因为结果是浮点数
1.0 / 8
1 / 8.0
1.0 / 8.0 好的,谢谢大佬{:10_298:}
页:
[1]