使用公式摄氏度 = (5/9)(华氏度 - 32)打印华氏温度与摄氏温度对照表:
0 -17
20 -6
40 -4
60 15
.......
280 137
300 148
一个很简单的c语言问题,但有一个小陷阱。
#include<stdio.h>
int main(){
int fahr,celsius;
int lower,upper,step;
lower = 0;
upper = 300;
step = 20;
fahr = lower;
while(fahr <= upper){
celsius = 5 * (fahr - 32) / 9;
printf("%d\t%d\n",fahr,celsius);
fahr = step +fahr;
}
}
程序很简单,但由于c语言中,整形除法会发生舍位,即整形除以整形还是整形。所以,不能写为celsius = 5/9*(fahr - 32),最后的结果都为0.