向舒 发表于 2021-4-27 19:34:55

学到了分支结构,自己尝试了一下,不行了,下面的程序到底哪有问题

#include<stdio.h>

int main()
{
      int i;

      printf("请输入成绩:");
      scanf("%d",&i);

      if(i >= 90)
      {
                printf("成绩是A\n");
                if(i < 90 && i >= 80)
                {
                        printf("B\n");
                        if(i < 80 && i >= 70)
                        {
                              printf("C\n");
                              if(i < 70 && i > 60)
                              {
                                        printf("D\n");
                                        if(i <= 60)
                                        {
                                        printf("E\n");
                              }
                        }
                }
      }
      return 0;
}

昨非 发表于 2021-4-27 19:37:31

本帖最后由 昨非 于 2021-4-27 19:40 编辑

分支结构是不能嵌套的
每个if 之间是平行的关系啊
#include<stdio.h>

int main()
{
        int i;

        printf("请输入成绩:");
        scanf("%d", &i);

        if (i >= 90)
                printf("成绩是A\n");
        if (i < 90 && i >= 80)
                printf("B\n");
        if (i < 80 && i >= 70)
                printf("C\n");
        if (i < 70 && i > 60)
                printf("D\n");
        if (i <= 60)
                printf("E\n");
        return 0;
}

lk_c_learner 发表于 2021-4-27 19:38:23

你这个只能判断成绩大于等于90的,其他的判断是在第一个if里面,就没作用。要完成你的功能,所有的if判断都要并列在同一层级。

向舒 发表于 2021-4-27 19:54:17

lk_c_learner 发表于 2021-4-27 19:38
你这个只能判断成绩大于等于90的,其他的判断是在第一个if里面,就没作用。要完成你的功能,所有的if判断都 ...

看到了,将后面的if分出去后可以运行了,谢谢

向舒 发表于 2021-4-27 19:56:30

昨非 发表于 2021-4-27 19:37
分支结构是不能嵌套的
每个if 之间是平行的关系啊

知道自己是个半吊子,会努力的{:5_108:}

昨非 发表于 2021-4-27 19:57:09

向舒 发表于 2021-4-27 19:56
知道自己是个半吊子,会努力的

小问题,继续加油就好
解决了记得设置最佳答案
页: [1]
查看完整版本: 学到了分支结构,自己尝试了一下,不行了,下面的程序到底哪有问题