这个怎么弄啊!?。,

输入两个整数lower和upper,输出一张华氏-摄氏温度转换表,华氏温度取值范围是(lower,upper),每次增加2F,计算公式:c=5*(f-32)/9,其中c表示摄氏温度,f表示华氏温度。结果保留1位小数。若输入的第一个数比第二个数大,则输出Invalid Value!试编写相应程序。

img

供参考:

#include<stdio.h>
int main()
{
    int lower,upper,d;
    double c;
    scanf("%d %d",&lower,&upper);
    if(lower > upper)
    {
        printf("Invalid Value!\n");
    }
    else
    {
        printf("fahr celsius\n");
        for(d = lower;d <= upper; d += 2)
        {
            c=5.0*(d-32)/9.0;
            printf("%d  %6.1lf\n",d,c);
        }
    }
    return 0;
}

#include<stdio.h>
int main(){
    int lower,upper;
    scanf("%d %d",&lower,&upper);
    if(lower > upper){
        printf("Invalid Value!");
    }
    else{
        printf("fahr celsius\n");
        for(int i = lower;i <= upper;i+=2){
            double c = (5 * (i - 32)) / 9.0;
            printf("%d %.1lf\n",i,c);
        }
    }
} 

我的思路是:
1、首先用scanf()函数获取两个整数到int型变量lower,upper

2、然后判断lower是否大于upper,如果大于,则输出提示信息,如果不大于则进行else分支的打印操作

3、打印华氏对摄氏的对照表,用一个for循环遍历lower到upper之间的数,步进为2,然后用printf语句打印遍历的数-即华氏温度,其次用float型打印摄氏温度,用float(5.0*(i-32)/9)表达式来计算每个摄氏温度的值
代码如下:


#include <stdio.h>

int main(void){
    
    int lower,upper;
    
    scanf("%d%d",&lower,&upper);
    
    if(lower>upper){
        printf("Invalid Value!");
    }else{
        
        printf("fahr celsius\n");
        for(int i=lower;i<=upper;i+=2){
            
            printf("%4d %4.1f\n",i,float(5.0*(i-32)/9));
            
        } 
    }
    
    
    return 0;
} 

img


int main()
{

    int lower, upper;
    scanf("%d%d", &lower, &upper);
    if (lower > upper)
    {
        printf("Invalid Value\n");
        return 1;
    }
    for (; lower <= upper; lower += 2)
    {
        printf("%d %.1f\n", lower, 5.0 * (lower - 32) / 9);
    }

    return 0;
}