实验2-3-5输出华⽒-摄⽒温度转换表(15分)输⼊2个正整数lower和upper(lower≤upper≤100),请输出⼀张取值范围为[lower,upper]、且每次增加2华⽒度的华⽒-摄⽒温度转换表。温度转换的计算公式:C=5×(F−32)/9,其中:C表⽰摄⽒温度,F表⽰华⽒温度。
输⼊格式:
在⼀⾏中输⼊2个整数,分别表⽰lower和upper的值,中间⽤空格分开。
输出格式:
第⼀⾏输出:"fahr celsius"
接着每⾏输出⼀个华⽒温度fahr(整型)与⼀个摄⽒温度celsius(占据6个字符宽度,靠右对齐,保留1位⼩数)。
若输⼊的范围不合法,则输出"Invalid."。
输⼊样例1:
32 35
输出样例1:
fahr celsius
32  0.0
34  1.1
输⼊样例2:
40 30
输出样例2:
Invalid.
代码:
# include <stdio.h>
# include <stdlib.h>
int main() {
int lower,upper,fahr,i;
double celsius;
scanf("%d %d",&lower,&upper);
if (lower > upper) {
printf("Invalid.");
}else {
printf("fahr celsius\n");
for (i=lower;i<=upper;i+=2) {
celsius = 5 * (i - 32) / 9.0;
printf("%d%6.1f\n",i,celsius);
}
}
printf输出格式右对齐return 0;
}
提交截图:
解题思路:
本题其实难点在于输出部分,循环控制类的问题都不⼤
输出,⾸先是占据6位,然后说是右对齐,这边我们⽤的是%6.1f,其中⼩数点前⾯的6代表的就是占据的宽度,默认是右对齐,如果后⾯是左对齐的话,在6前⾯加上-就好了!