程序没错但运行结果不对

C的正确结果应该是30,输出结果是一长串,不知道是哪里出了问题

img

img

把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;
} 

img

输出用%d是不是有问题 浮点型吧
5/9建议改为 5.0/9

程序错了,运行结果当然不对
浮点运算首先必须保证浮点数参与运算,其次输出结果也要转换为浮点输出。
用强制类型转换就行