
输入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.
本题目也是非常简单,主要考察 scanf 函数、printf 函数和循环结构。scanf 和 printf 在前面的章节中已经做了介绍。这里只对循环结构做说明。
C 语言提供了 while 、do...while 、for 几种循环类型。各循环具体说明如下:
给定条件为真时,重复语句或语句组,它会在执行循环主体之前测试条件。
while 循环的语法:
while(condition)
{
statement(s);
}在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。
condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。
while 循环的流程图:

在这里,while 循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。
不像 for 和 while 循环,它们是在循环头部测试循环条件。在 C 语言中,do...while 循环是在循环的尾部检查它的条件。
do...while 循环与 while 循环类似,但是 do...while 循环会确保至少执行一次循环。
do...while 循环的语法:
do
{
statement(s);
}while( condition );请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。
如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。
do...while 循环的流程图:

多次执行一个语句序列,简化管理循环变量的代码。
for 循环的语法:
for ( init; condition; increment )
{
statement(s);
}for 循环的控制流:
for 循环的流程图:

以上内容来自:菜鸟教程
有了上面的基础,本题目可以分成以下几个步骤完成:
根据以上分析,给出参考代码如下:
#include<stdio.h>
int main()
{
int lower,upper;
int i;
scanf("%d %d",&lower,&upper);
if(lower<=upper)
{
printf("fahr celsius\n");
for(i=lower;i<=upper;i+=2)
{
printf("%d%6.1lf\n",i,(double)(5.0*(i-32)/9.0));
}
}
else printf("Invalid.\n");
return 0;
}