输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加1华氏度的华氏-摄氏温度转换表。
温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。
输入格式:
在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。
输出格式:
第一行输出以下内容,中间有一个空格。
fahr celsius
接着每行输出一个华氏温度fahr(整型,占据4个字符宽度,靠右对齐)与一个摄氏温度celsius(实型,占据6个字符宽度,靠右对齐,保留1位小数)。
若输入的范围不合法,则输出Invalid.。
输入样例1:
31 33
输出样例1:
fahr celsius
31 -0.6
32 0.0
33 0.6
输入样例2:
40 30
输出样例2:
Invalid.
代码如下:
#include <stdio.h>
int main()
{
int lower,upper;
double c;
scanf("%d %d",&lower,&upper);
if (lower <= upper && upper<=100)
{
printf("fahr celsius\n");
for(int i=lower;i<=upper;i++)
{
c=5*(i-32)*1.0/9;
printf("%4d%6.1f\n",i,c);
}
}
else
{
printf("Invalid.\n");
}
return 0;
}
注意:占据4个字符宽度,靠右对齐,这个占据字符宽度不是空格,使用的是c语言中printf对齐输出方式。
使用printf格式化输出时,每个控制字符可以写成%nC的形式,如%10d, %12f, %5c, %20s等等,其对应的是不足部分左侧补空格,实现右对齐效果;若要不足部分右侧补空格,只需要在宽度字符前加-符号即可,如%-12f,此时实现的是左对齐效果。