• 分支语句


    第一种分支语句

     if(bool的表达式)   //可以直接结束

     代码

    }   

    else if(bool的表达式)  //可以直接结束

     {   

     代码  

     }  

     else  //否则,是最后的结束 

    {

    代码(Console.WriteLine("我没有想到的问题");//检查是条件是否有漏洞)

     }

    if(...) {}

    if(...) {}

    if(...) {}// 这样的结构属于多组分支语句,计算机都会进行表达式判断

    第二种分支语句
    switch...case...

    判断变量的值是什么,最后必须跟break;default有没有都可以。
    switch (变量)
    {
    case 值: 执行代码;//可以写好几行执行代码

    break;
    case 值: 执行这里;break;
    case 值: 执行这里;break;
    default: b = "";break;
    }

    default相当于else。指定类型参数的默认值

    switch ..case 能做的,if else 一定能做。if else能做的,swich  case不一定能做。swich case 更简洁

    练习1

    问我饿不饿:
    饿就吃饭!
    很饿就赶紧吃饭!
    不饿就等会再吃!

                Console.Write("你饿不饿?");
                string a = Console.ReadLine();
    
                if (a == "饿")
                {
                    Console.WriteLine("就吃饭!");
                }
                else if (a == "很饿")
                {
                    Console.WriteLine("就赶紧吃饭");
                }
                else
                {
                    Console.WriteLine("就等会再吃!");
                }
    
                Console.ReadKey();

     

    练习2

    判断学生成绩:
    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 < 90 && b >= 60)
                {
                    Console.WriteLine("及格了!");
                }
                else if (b >= 90 && b < 100)
                {
                    Console.WriteLine("学的很棒!");
                }
                else if (b == 100)
                {
                    Console.WriteLine("满分,好厉害");
                }
    
    
                Console.ReadLine();

     

    练习3

    输入姓名:
    如果是张三,输出,我叫张三,我是男的!
    如果是李四,输出,我叫李四,我是男的!我比张三大!
    如果是小花,输出,我叫小花,我是女的!
    其它名称,输出,查无此人!

                Console.Write("请输入姓名:");
                string name = Console.ReadLine();
    
                if (name == "张三")
                {
                    Console.WriteLine("我叫张三,我是男的!");
                }
                else if (name == "李四")
                {
                    Console.WriteLine("我叫李四,我是男的!我比张三大!");
                }
                else if (name == "小花")
                {
                    Console.WriteLine("我叫小花,我是女的!");
                }
                else
                {
                    Console.WriteLine("查无此人");
                }
    
                Console.ReadLine();

     

    练习4

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

                //用户输入
                Console.Write("请输入你的手势(1:石头,2:剪子,3:布):");
                int a = Convert.ToInt32(Console.ReadLine());
                //电脑输入
                Random r = new Random();
                int b = r.Next(1, 4);
                //对比输赢
                //用户赢  1,2  2,3  3,1
                //电脑赢  1,3  3,2  1,3
                //用户赢   -1    -1     2
                //电脑赢   -2     1     1
                int c = a - b;
    
                if (c == -1 || c == 2)
                {
                    Console.Write("用户赢了");
    
                }
                else if (c == 0)
                {
                    Console.WriteLine("平局");
                }
    
                else if (c == -2 || c == 1)
                {
                    Console.WriteLine("电脑赢了");
                }
    
                Console.ReadLine();

    练习5

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

    一月31,二月28,三月31,四月30,五月31,六月30,七月31,八月31,九月30,十月31,十一月30,十二月31

                //用户输入月份和日期
                Console.Write("请输入月份:");
                int a = Convert.ToInt32(Console.ReadLine());
                Console.Write("请输入日期:");
                int b = Convert.ToInt32(Console.ReadLine());
               
                //判断用户输入的月份和日期是否正确
                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
                {
                    //计算当前日期一年一共多少天
    
                    int a1 = 31, a2 = 28, a3 = 31, a4 = 30, a5 = 31, a6 = 30, a7 = 31, a8 = 31, a9 = 30, a10 = 31, a11 = 30, a12 = 31;
                    int c = 0;
                    switch (a)
                    {
                        case 1: c = b; break;
                        case 2: c = a1+b; break;
                        case 3: c = a1+a2+b; break;
                        case 4: c = a1+a2+a3+b; break;
                        case 5: c = a1+a2+a3+a4+b; break;
                        case 6: c = a1+a2+a3+a4+a5+b; break;
                        case 7: c = a1+a2+a3+a4+a5+a6+b; break;
                        case 8: c = a1+a2+a3+a4+a5+a6+a7+b; break;
                        case 9: c = a1+a2+a3+a4+a5+a6+a7+a8+b; break;
                        case 10: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+b; break;
                        case 11: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+b; break;
                        case 12: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+b; break;
    
                    }
                    Console.WriteLine(a + "" + b + "日一共" + c + "天!"); 
                }
                
                Console.ReadLine();

    练习6

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

                //用户输入三个数
                Console.Write("请输入第一个数:");
                decimal a = Convert.ToDecimal(Console.ReadLine());
                Console.Write("请输入第二个数:");
                decimal b = Convert.ToDecimal(Console.ReadLine());
                Console.Write("请输入第三个数:");
                decimal c = Convert.ToDecimal(Console.ReadLine());
    
                //比较大小
                //a b c a>b>c a>c>b a=b=c a=b>c
                //b a c b>a>c b>c>a b=c>a
                //c a b c>a>b c>b>a c=a>b
    
                if ((a > b && b > c) || (a == b && a == c) || (a == b && a > c))
                {
                    Console.WriteLine("三个数的排序是:" + a + "," + b + "," + c + "");
                }
                else if (a > c && a > b)
                {
                    Console.WriteLine("三个数的排序是:" + a + "," + c + "," + b + "");
                }
                else if (b > a && a > c)
                {
                    Console.WriteLine("三个数的排序是:" + b + "," + a + "," + c + "");
                }
                else if ((b > c && c > a) || (b == c && c > a))
                {
                    Console.WriteLine("三个数的排序是:" + b + "," + c + "," + a + "");
    
                }
                else if ((c > a && a > b) || (c == a && c > b))
                {
                    Console.WriteLine("三个数的排序是:" + c + "," + a + "," + b + "");
                }
                else if (c > b && b > a)
                {
                    Console.WriteLine("三个数的排序是:" + c + "," + b + "," + a + "");
                }
    
                Console.ReadLine();

    运算结果

  • 相关阅读:
    c++ stl常用
    c++流操作
    操作符重载operator
    函数指针和指针函数
    指针c艹
    Oracle 账户锁定问题解决办法
    java回收算法
    JDK与JRE的区别
    关于getClass().getClassLoader()
    After reading a picture than out a picture
  • 原文地址:https://www.cnblogs.com/sunshuping/p/5509906.html
Copyright © 2020-2023  润新知