double和float问题
#include <stdio.h>int main(void)
{
float number,count;
printf("请输入摄氏度:");
scanf("%f",&count);
number=(count-32)*5/9;
printf("转换为华氏度是:%.2f",number);
return 0;
}
这个输入45,输出是7.22是对的
为什么我把变量类型改成
double number,count;
再输入45,结果就会变成-17.78
精度不同,double 双精度格式化要用 %lf ,参考代码:
#include <stdio.h>
int main(void)
{
double number, count;
printf("请输入摄氏度:");
scanf_s("%lf", &count);
number = (count - 32) * 5 / 9;
printf("转换为华氏度是:%.2lf", number);
return 0;
} #include <stdio.h>
int main(void)
{
float number,count;
printf("请输入摄氏度:");
scanf("%lf",&count);
number=(count-32)*5/9;
printf("转换为华氏度是:%.2lf",number);
return 0;
} 需要 %lf Twilight6 发表于 2022-5-11 20:49
精度不同,double 双精度格式化要用 %lf ,参考代码:
差4秒{:10_277:} 永恒的蓝色梦想 发表于 2022-5-11 20:50
差4秒
哈哈哈,好久不见呀~{:10_287:}
Twilight6 发表于 2022-5-11 20:51
哈哈哈,好久不见呀~
高中太忙了,难得放假{:10_245:} 永恒的蓝色梦想 发表于 2022-5-11 21:12
高中太忙了,难得放假
{:10_303:}
页:
[1]