• 分支语句 if...else switch..case...break


    语句:
    1、顺序语句
    2、分支语句
    3、循环语句

    基本格式:
    if(bool的表达式)
    {
    代码
    }
    else if(bool的表达式)
    {
    代码
    }
    else
    {
    Console.WriteLine("我没有想到的问题。") // 判断自己思路是否有遗漏。
    }

    else if 不可以写在 else 后面。

    --------------------------------------------------------
    if(...)
    {}

    if(...)
    {}

    if(...)
    {}

    这样的结构属于多组分支语句,计算机都会进行表达式判断,条件不可以出现重复。

    --------------------------------------------------------
    if(...)
    {} //可以直接结束
    else if(...)
    {} //也可以直接结束

    --------------------------------------------------------
    习题:

    1、判断学生成绩:
    0-100之间才为正确的分数;// a<0 && a>100
    60分以下,不及格! // a<60
    60分以上,及格了! // a>=60 && a<90
    90分以上,学的很棒! // a>=90 && a<100
    100分,满分,好厉害! // a==100

                //接收用户输入的信息
                Console.Write("请输入成绩:");
                decimal b = Convert.ToDecimal(Console.ReadLine());
    
                //判断 得出结果 并输出结果
                if (b < 0 || b > 100)
                {
                    Console.WriteLine("你输入的成绩有误!");
                }
                else if (b < 60)
                {
                    Console.WriteLine("不及格!");
                }
                else if (b >= 60 && b < 90)
                {
                    Console.WriteLine("及格了!");
                }
                else if (b >= 90 && b < 100)//也可以写作  else if (b >= 90 && b !=100)
                {
                    Console.WriteLine("学的很棒!");
                }
                else if (b == 100)
                {
                    Console.WriteLine("满分,好厉害!");
                }
    Console.ReadLine();

    2、猜拳:
    请输入你的手势: 石头剪子布
    用户手势:xxx
    电脑手势:xxx
    xxx赢了!

                //获得用户输入的手势
                Console.Write("请输入手势(1:石头,2:剪刀,3:布):");
                int c = Convert.ToInt32(Console.ReadLine());
                //获得用户输入的手势
                Random d = new Random();
                int e = d.Next(1, 4);
                
                //判断比较 得出结果
                //用户赢:1,2   2,3   3,1
                //电脑赢:1,3   2,1   3,2
                //用户赢: -1    -1    2
                //电脑赢: -2     1    1
                int jg = c - e;
                if (jg == -1 || jg == 2)
                {
                    Console.WriteLine("用户赢了!");
                }
                else if (jg == -2 || jg == 1)
                {
                    Console.WriteLine("电脑赢了!");
                }
                else
                {
                    Console.WriteLine("平局!");
                }
                Console.ReadLine();
    
    

    -------------------------------------------------------------

    判断变量的值是什么,最后必须跟break,default有没有都可以。
    swith (变量)
    {
    case 值:执行这里;(可以写很多执行代码) break;
    case 值:执行这里;(可以写很多执行代码) break;
    、、、、、、、、
    default: 值 = 执行这里; (可以写很多执行代码)break;
    }


    ---------------------------------------------------------------

    习题:

    1、

    判断当前日期是一年中的第几天
    请输入月份
    请输入日期
    输出:
    XXX月XXX日是一年中的第xxx天。

                //接收用户输入的信息
                Console.Write("请输入月份:");
                int a = Convert.ToInt32(Console.ReadLine());
                Console.Write("请输入日期:");
                int b = Convert.ToInt32(Console.ReadLine());
                int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31,
                    m9 = 30, m10 = 31, m11 = 30;
                int c = 0;
    
                //判断输入的月份   日期是否正确
                if (a < 1 || a > 12)
                {
                    Console.WriteLine("月份输入有误!");
                }
                else if ((b < 1 || b > 31) || (a == 2) && (b > 28)
                    || (a == 1 || a == 3 || a == 5 || a == 7 || a == 8 || a == 10 || a == 12) && (b > 31)
                    || (a == 4 || a == 6 || a == 9 || a == 11) && (b > 30))
                {
                    Console.WriteLine("日期输入有误!");
                }
                else
                {
                    switch (a)
                    {
                        case 1: c = b; break;
                        case 2: c = m1 + b; break;
                        case 3: c = m1 + m2 + b; break;
                        case 4: c = m1 + m2 + m3 + b; break;
                        case 5: c = m1 + m2 + m3 + m4 + b; break;
                        case 6: c = m1 + m2 + m3 + m4 + m5 + b; break;
                        case 7: c = m1 + m2 + m3 + m4 + m5 + m6 + b; break;
                        case 8: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + b; break;
                        case 9: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + b; break;
                        case 10: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + b; break;
                        case 11: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + b; break;
                        case 12: c = m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + b; break;
                    }
                        Console.WriteLine(a + "月" + b + "日是一年中的第" + c + "天。");
                }
                //打印输出
                Console.ReadLine();


    2、

    让用户随机输入3个数:
    将这三个数,从大到小排列并打印出来。 

                //1、接收用户输入的三个数
                Console.Write("请输入第一个数:");
                decimal n1 = Convert.ToDecimal(Console.ReadLine());
                Console.Write("请输入第二个数:");
                decimal n2 = Convert.ToDecimal(Console.ReadLine());
                Console.Write("请输入第三个数:");
                decimal n3 = Convert.ToDecimal(Console.ReadLine());
    
                //2、比较大小并排序
                decimal zhong = 0;
    
                if (n1 < n2)
                {
                    zhong = n1;
                    n1 = n2;
                    n2 = zhong;
                }
    
                if (n1 < n3)
                {
                    zhong = n1;
                    n1 = n3;
                    n3 = zhong;
                }
    
                if (n2 < n3)
                {
                    zhong = n2;
                    n2 = n3;
                    n3 = zhong;
                }
    
                //3、打印
                Console.WriteLine(n1 + "  " + n2 + "  " + n3);
                Console.ReadLine();

     

  • 相关阅读:
    Codeforces 946D
    Codeforces 817F
    Codeforces 931F
    Codeforces 932D
    Graph HDU
    Chef and Graph Queries CodeChef
    Lucky Array Codeforces
    Calculation 2 HDU
    洛谷 P3455 [POI2007]ZAP-Queries || 洛谷P2522,bzoj2301
    洛谷 P2398 GCD SUM || uva11417,uva11426,uva11424,洛谷P1390,洛谷P2257,洛谷P2568
  • 原文地址:https://www.cnblogs.com/123lucy/p/5509895.html
Copyright © 2020-2023  润新知