注册 登录
编程论坛 C语言论坛

大佬们,这个代码哪里错了

jrain 发布于 2022-09-07 20:19, 1380 次点击
编写程序,从键盘输入一个摄氏温度,将其转换为华氏温度并输出。
#include<stdio.h>
int main(void){
    double f, c;
    scanf("%lc", &c);
    f=1.8*c+32;
    printf("%f",f);
    return 0;
}
4 回复
#2
op1232022-09-07 20:36
printf("%.f",f);
#3
仙风道孤2022-09-07 22:11
回复 楼主 jrain
#include<stdio.h>
int main(void)
{
    double f, c;
    scanf("%lf", &c);
    f = 1.8 * c + 32;
    printf("%.3f", f);
    return 0;
}
是 scanf("%lf", &c);
#4
不会游泳的虾2022-09-08 08:23
输入语句的格式控制符错了。
scanf("%lf", &c);//scanf("%lc", &c);
#5
巴人2022-09-08 16:43
开头double f, c;
定义了变量C为双精度
而scanf("%lc", &c);语句有多个错误。
其一 %c是字符型和0~255之间整型数字输入,没有前面加字母"l"的用法
其二 前面定义了双精度,后面语句输入函数scanf要求是字符型或整型数。这样会造成输入数值无法转换成正确值。
应该改为 scanf("%lf",&c);
1