Cindycy049ezdgg 发表于 2024-10-16 20:33:48

C语言练习题(不知道哪里错了)

标题
输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为、且每次增加2华氏度的华氏-摄氏温度转换表。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

输入格式:
在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

输出格式:
第一行输出:"fahr celsius"‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

若输入的范围不合法,则输出"Invalid."。

求大佬们指点一下C语言第一节课的作业,真的不是很懂┭┮﹏┭┮

代码:
#include<stdio.h>
#include<math.h>
int main(void)
{
    int lower,upper,fahr;
    float celsius;
    scanf("%d %d",&lower,&upper);
    if(lower>upper||lower>100||upper>100)
    {
      printf("Invalid.");
    }
    else
    {
      printf("fahr celsius\n")
      for (int fahr = lower;fahr <= upper;fahr += 2)
      {
      float celsius = 5.0 * (fahr - 32) / 9;
      printf("%d%6.1f\n", fahr, celsius);
      }
    }
    return 0;

FishC 发表于 2024-10-16 20:33:58

你提供的代码片段存在些小问题,我来指正并给你一份完整的范例代码:

#include <stdio.h>

int main(void) {
    int lower, upper;

    scanf("%d %d", &lower, &upper);

    if (lower > upper || lower > 100 || upper > 100) {
      printf("Invalid.");
    } else {
      printf("fahr celsius\n");
      
      for (int fahr = lower; fahr <= upper; fahr += 2) {
            float celsius = 5 * (fahr - 32) / 9.0;
            printf("%d %6.1f\n", fahr, celsius);
      }
    }

    return 0;
}

### 注意事项:

1. **`#include`部分**:确保`#include <stdio.h>`行正确无误,其它`#include`行必须清晰明确。

2. **if判断条件**:条件中应为`lower > upper || lower > 100 || upper > 100`以确保合法性。

3. **`printf`函数**:在输出标头时需要分号,`printf("fahr celsius\n");`。

4. **浮点数计算**:在计算摄氏温度时,要确保除法是浮点数计算,`5 * (fahr - 32) / 9.0`确保除数为浮点数。

5. **格式化输出**:`printf("%d %6.1f\n", fahr, celsius);` 这行代码确保摄氏温度右对齐6个字符,且保留小数点后1位。

希望这段代码能帮你完成作业!如有进一步疑问,随时提问哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: C语言练习题(不知道哪里错了)