Console.Write("请输入您的分数:");
            int fenShu = int.Parse(Console.ReadLine());
            switch (fenShu)
            {
                case 90<fenShu<100:
                    Console.WriteLine("A");
                    break;
                case 80<fenShu<90:
                    Console.WriteLine("B");
                    break;
                case 70<fenShu<80:
                    Console.WriteLine("C");
                    break;
                case 60<fenShu<70:
                    Console.WriteLine("E");
                    break;
                default:
                    Console.WriteLine("不合格!");
            }编译不过:运算符“<”无法应用于“bool”和“int”类型的操作数.
我看过很多例子,case后跟的条件都是常数,所以我就自己做了这个例子。case后面不能跟一个范围吗?高手帮我改一下上面的例子,应该怎么写。谢谢!

解决方案 »

  1.   

    不行 case后面只能放常量你可以这样
    int fenShu = int.Parse(Console.ReadLine());
    if(90<fenShu<100) str = "90-100";
    if(80<fenShu<90) str = "80-90";
    //....
                switch (str)
                {
                    case "90-100":
                        Console.WriteLine("A");
                        break;
                    case "80-90":
                        Console.WriteLine("B");
                        break;
                    .......
                }
      

  2.   

    if..else if..else..
    就好了。
      

  3.   

    fenshu/10取整,当 fenshu/10==8时,表明80<=fenshu<90