乘积得到的结果与实际结果相差1
#include <stdio.h>int main()
{
long int i, bonus;
scanf("%ld",&i);
if(i <= 200000)
{
bonus = (i - 100000) * 0.075;
printf("奖金总数是%d\n", bonus);
}
return 0;
}
输入是:150000
输出是:3749
实际答案不应该是3750吗?为什么会减1?
0.075是浮点数 %d 精度问题吧 可能是编译器的问题吧,我用vc6.0,结果就是3750,不差1呀, ijy 发表于 2020-1-10 12:10
可能是编译器的问题吧,我用vc6.0,结果就是3750,不差1呀,
我是虚拟机的CentOS,然后按你说的换成Dev C++确实没事了,谢谢你.
页:
[1]