輸入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);
}
}
return 0;
}
提交截圖:
解題思路:
本題其實難點在於輸出部分,循環控制類的問題都不大
輸出,首先是占據6位,然后說是右對齊,這邊我們用的是%6.1f
,其中小數點前面的6代表的就是占據的寬度,默認是右對齊,如果后面是左對齊的話,在6前面加上-
就好了!