为什么输入45华氏度,输出是7.00摄氏度啊?
#include2. 回答#include int main() { printf("请输入华氏度:"); int i; double g; scanf_s("%d", &i); g = (i - 32) * 5 / 9; printf("转换为摄氏度是:%.2f", g); return 0; }
g = (i - 32) * 5 / 9
=(45 - 32) * 5 / 9
= 13*5/9
= 65/9 (因为除号两遍都是int类型,所以结果也是int类型)
= 7 (余数为2)
你想输出小数的话,有两种办法:
(1)使用float或是double定义i,并且在输入i时,占位符不用%d,用%f,这样你输入45,在编译器里是45.0(浮点型)
(2) g = (i - 32) * 5 / 9.0;这样除号一边是浮点型,结果也是浮点型。



