C的正确结果应该是30,输出结果是一长串,不知道是哪里出了问题
把C = 5/9*(F-32); 改为C = 5.0/9*(F-32); 5改为5.0是因为需要求得double类型的值,如果是5,5/9就会是整数运算,结果会错误。
然后把printf("C=%d\n,C") 改为printf("C=%f\n",C)即可。一是printf里对应的变量要放在双引号外面,二是打印double类型的值要用%f.
修改如下:
#include <stdio.h>
int main(void){
double F;
double C;
F = 86;
C = 5.0/9*(F-32);
printf("C=%f\n",C);
return 0;
}
输出用%d是不是有问题 浮点型吧
5/9建议改为 5.0/9
程序错了,运行结果当然不对
浮点运算首先必须保证浮点数参与运算,其次输出结果也要转换为浮点输出。
用强制类型转换就行