书本例程
#include<stdio.h>
/当fahr=0,20,…,300时,分别打印华氏温度与摄氏温度对照表/
main()
{
int fahr,celsius;
int lower,upper,step;
lower=0; /*温度表下限*/
upper=300; /*温度表上限*/
step=20; /*步长*/
fahr=lower;
while(fahr<=upper){
celsius=5*(ahr-32)/9;
printf("%d\t%d\n",fahr,celsius); /*①*/
fahr=fahr+step;
}
}
公式:摄氏温度=(5/9)*(华氏温度-32)
程序中的公式语句与公式有些许出入,因为fahr,celsius是int型,5/9=0,所以结果为零,所以改成例程所示,但只得到了整数,并且得出的结果不甚美观。
解决的方法:添加字符宽度。
printf("%3d\t%6d\n",fahr,celsius);
此外,得到的摄氏温度只能是整数,可在printf()中设置想要的数值宽度,%6.1按照浮点数打印,至少6个字符宽度,小数点后面1个字符宽度,注意上下俩个程序区别。
#i