用C表示输入输出至少几位字符宽度及小数位数的限制

以温度转换程序为例,验证浮点型输入输出的不同

#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
请按任意键继续. . .

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值