小鲜鱼 发表于 2015-10-9 01:12:29

请教一下高手,下面这个关于if的运算有什么逻辑错误!

程序如下:
#include<stdio.h>

void main()
{
        int score;
        printf("please input a score:\n");
        scanf("%d",&score);
        if(score<60)
        {
                printf("E\n");
        }
        else if ((60<=score)<70)
        {
                printf("D\n");
        }
        else if ((70<=score)<80)
        {
                printf("C\n");
        }
        else if (80<=score<90)
        {
                printf("B\n");
        }
        else if (90<=score)
        {
                printf("A\n");
        }

}
这个程序我输入60分以下 运行后输出:E .输入60分以上就全部是D,无法 输出A,B,C,请教一下有什么逻辑错误!谢谢!

小鲜鱼 发表于 2015-10-9 01:14:28

#include<stdio.h>

void main()
{
      int score;
      printf("please input a score:\n");
      scanf("%d",&score);
      if(score<60)
      {
                printf("E\n");
      }
      else if (60<=score<70)
      {
                printf("D\n");
      }
      else if ((70<=score)<80)
      {
                printf("C\n");
      }
      else if (80<=score<90)
      {
                printf("B\n");
      }
      else if (90<=score)
      {
                printf("A\n");
      }
程序应该是这样的,上面一个60分-70分 中多了一个括号。

小鲜鱼 发表于 2015-10-9 01:15:09

#include<stdio.h>

void main()
{
      int score;
      printf("please input a score:\n");
      scanf("%d",&score);
      if(score<60)
      {
                printf("E\n");
      }
      else if (60<=score<70)
      {
                printf("D\n");
      }
      else if (70<=score<80)
      {
                printf("C\n");
      }
      else if (80<=score<90)
      {
                printf("B\n");
      }
      else if (90<=score)
      {
                printf("A\n");
      }

smop 发表于 2015-10-9 10:56:27

else if (60<=score<70)
改成:else if (60<=score&&score<70)就可以了
你是刚接触编程吧

康小泡 发表于 2015-10-9 12:07:02

你连基本的语法都不知道啊孩子,你还是多看看基本的语法吧。编程这个东西基础要打好。不能过急的。
&&||这些基本的逻辑运算符你都不知道。

小鲜鱼 发表于 2015-10-10 09:02:20

刚接触3天,谢谢大侠! 正在前进中..........:lol:

ianv 发表于 2015-10-10 11:41:47

你还是多看看基本的语法吧

小鲜鱼 发表于 2015-10-11 13:27:40

感谢各位:ton:

玉份缘 发表于 2015-10-13 10:01:28

void main()
{
      int score;
      printf("please input a score:\n");
      scanf("%d",&score);
      if(score<60)
      {
                printf("E\n");
      }
      else if (60<=score&&score<70)
      {
                printf("D\n");
      }
      else if ((70<=score)&&score<80)
      {
                printf("C\n");
      }
      else if (80<=score&&score<90)
      {
                printf("B\n");
      }
      else if (90<=score)
      {
                printf("A\n");
      }

}
页: [1]
查看完整版本: 请教一下高手,下面这个关于if的运算有什么逻辑错误!