以温度转换程序为例,验证浮点型输入输出的不同
#include<stdio.h>
#define lower 0#define upper 300
#define step 20
main()
{
float fahr, celsius;
fahr = 0;
while (fahr <= upper)
{
celsius = 5 * (fahr - 32) / 9;
fahr = fahr + step;
printf("%1f\t%1f\n", fahr, celsius);
}
}
按照至少一个字符宽浮点数打印,ctrl+f5运行,结果如下:
20.000000 -17.777779
40.000000 -6.666667
60.000000 4.444445
80.000000 15.555555
100.000000 26.666666
120.000000 37.777779
140.000000 48.888889
160.000000 60.000000
180.000000 71.111115
200.000000 82.222221
220.000000 93.333336
240.000000 104.444443
260.000000 115.555557
280.000000 126.666664
300.000000 137.777771
320.000000 148.888885
请按任意键继续. . .
将程序小数点后限制为一位,程序变为如下:
#include<stdio.h>
#define lower 0
#define upper 300
#define step 20
main()
{
float fahr, celsius;
fahr = 0;
while (fahr <= upper)
{
celsius = 5 * (fahr - 32) / 9;
fahr = fahr + step;
printf("%1f\t%1.1f\n", fahr, celsius);
}
}
运行结果如下,华氏温度未限制小数位数明显的区别:
20.000000 -17.8
40.000000 -6.7
60.000000 4.4
80.000000 15.6
100.000000 26.7
120.000000 37.8
140.000000 48.9
160.000000 60.0
180.000000 71.1
200.000000 82.2
220.000000 93.3
240.000000 104.4
260.000000 115.6
280.000000 126.7
300.000000 137.8
320.000000 148.9
请按任意键继续. . .