我想将 -50 度和 200 摄氏度之间的所有内容以 10 度的步长转换为华氏温度,并向用户打印两个值,以及哪个更大/更小或者它们是否相等。我目前的代码是:
#include <stdio.h>
main()
{
int fahr;
for(fahr = -50; fahr < 201; fahr = fahr + 10)
{
double celsius = (5.0/9.0) * (fahr-32);
if(fahr == celsius)
{
printf("%3d = %6.1f\n", fahr, celsius);
}
if(fahr > celsius)
{
printf("%3d > %6.1f\n", fahr, celsius);
}
if(fahr < celsius)
{
printf("%3d < %6.1f\n", fahr, celsius);
}
}
}
我的基本思考过程是,我需要使用 for 语句,其中包含一些 if 来表示小于、大于和等于。但是,每当我使用 if 语句时,摄氏度只会以一个数字的形式出现,并且每次转换后华氏温度都不会跳跃 10 =/ 所以我有点不知所措。
编辑:好吧,我用=而不是==有点愚蠢的错误。我是编程新手,所以我仍在努力理解 = 实际上并不意味着等于。无论如何,这至少修复了华氏温度不正确的间隔,但摄氏度仍然保持在 2.2,而不是每次都改变。
编辑:嗯,谢谢你的帮助,原来我只需要学习什么时候使用正确的数据类型!我将代码更改为最终形式,以防万一有人需要它!