【2017-12-06】c#基础-分支语句and循环语句

  • 分支语句
    • if...else...
      if()
      {
      }
      else
      {
      }
    • switch
      switch(n)
      {
          case 1:
                执行代码块 1
                break;
          case 2:
                执行代码块 2
                break;
          default:
                n 与 case 1case 2 不同时执行的代码
      }    
  • 循环语句
    • for
      int count = 0;
      for (int n = 1; n <= 100; n++)
      {
        count += n;
      }
      Console.Write(count);
    • while
      int count = 0;
      int n = 1;
      while (n<=100)
      {
          count += n;
          n++;
      }
      Console.Write(count);
    • do..while...
      int count = 0;
      int n = 1;
      do
      {
          count += n;
          n++;
      } while (n <= 100);
      Console.Write(count);

       

 练习1:

1、“请输入年份:”
判断是否是闰年,“xxxx年是闰年”,“xxxx年不是闰年”

 1             //1、“请输入年份:”
 2             Console.Write("请输入年份:");
 3             int a =Convert.ToInt32(Console.ReadLine());
 4             //    判断是否是闰年,“xxxx年是闰年”,“xxxx年不是闰年”
 5             Console.Write("判断是否是闰年:");
 6             if ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0)
 7             {
 8                 Console.WriteLine(a + "年是闰年");
 9             }
10             else
11             {
12                 Console.WriteLine(a+"年不是闰年");
13             }

2、“请输入您的分数:”
小于0,大于100,“输入的分数有误!”
大于0,小于10,“不及格!学渣!”
小于60,“不及格!继续努力!”
大于等于60,“恭喜你!及格了!”
大于等于90,“学霸!很厉害!”

 1             //2、“请输入您的分数:”
 2             Console.Write("请输入您的分数:");
 3             int a = Convert.ToInt32(Console.ReadLine());
 4             //    小于0,大于100,“输入的分数有误!”                      
 5             if (a < 0 || a > 100)
 6                 Console.WriteLine("输入的分数有误!");
 7             //    大于0,小于10,“不及格!学渣!”
 8             else if (a<10)
 9                 Console.WriteLine("不及格!学渣!");
10             //    小于60,“不及格!继续努力!”
11             else if (a<60)
12                 Console.WriteLine("不及格!继续努力!");
13             //    大于等于60,“恭喜你!及格了!”
14             else if (a<90)
15                 Console.WriteLine("恭喜你!及格了!");
16             else
17             //    大于等于90,“学霸!很厉害!”
18                 Console.WriteLine("学霸!很厉害!");

3、猜拳
“请输入您的手势(石头/剪子/包袱):”
“用户赢了” “电脑赢了” “平局”

 1             //3、猜拳
 2             //    “请输入您的手势(石头 / 剪子 / 包袱):”
 3             Console.Write("请输入您的手势(石头 / 剪子 / 包袱):");
 4             string a = Console.ReadLine();
 5             //    “用户赢了” “电脑赢了” “平局”
 6             //产生三个随机数
 7             Random rd = new Random();
 8             int b = rd.Next(1,4); 
 9             string diannao;
10             //获取电脑出的手势
11             switch (b)
12             {
13                 case 1:
14                     diannao = "石头";
15                     break;
16                 case 2:
17                     diannao = "剪子";
18                     break;
19                 case 3:
20                     diannao = "包袱";
21                     break;
22                 default:
23                     diannao = "错误";
24                     break;
25             }
26             //用户手势转值
27             int c;
28             switch (a)
29             {
30                 case "石头":
31                     c = 1;
32                     break;
33                 case "剪子":
34                     c = 2;
35                     break;
36                 default:
37                     c = 3;
38                     break;
39             }
40             //判断
41             int d = b - c;
42             if (d == 0)
43                 Console.WriteLine("电脑出的是:"+diannao+"!平局!");
44             else if (d == -1 || d == 2)
45                 Console.WriteLine("电脑出的是:" + diannao + "!电脑赢了!");
46             else
47                 Console.WriteLine("电脑出的是:" + diannao + "!用户赢了!");

4、人工智能对话
如果说的是同一句话,不一定要回复同一句

 1             //4、人工智能对话
 2             //    如果说的是同一句话,不一定要回复同一句
 3             Console.WriteLine("吃饭了吗?");
 4             string a = Console.ReadLine();
 5             Random r = new Random();
 6             int b = r.Next(1,4);
 7             if (a == "吃了")
 8             {
 9                 if (b == 1)
10                     Console.WriteLine("吃什么了?");
11                 else if(b==2)
12                     Console.WriteLine("我也吃了");
13                 else
14                     Console.WriteLine("我还没吃");
15             }
16             else if (a == "没吃")
17             {
18                 if (b == 1)
19                     Console.WriteLine("准备吃什么?");
20                 else if (b == 2)
21                     Console.WriteLine("我也没吃");
22                 else
23                     Console.WriteLine("我刚吃了");
24             }
25             else
26             {
27                 Console.WriteLine("我没听清!");
28             }

 练习2:

1、“请输入年份:”(1-9999)
“请输入月份:”(1-12)
“请输入日期:”(要判断大小月,判断闰年)
判断输入的时间日期是否正确

 1             //  1、“请输入年份:”(1 - 9999)
 2             Console.Write("请输入年份:");
 3             int n =Convert.ToInt32(Console.ReadLine());
 4             if (n < 1 || n > 9999)
 5                 Console.WriteLine("输入的年份有误!");
 6             else
 7             {
 8                 //    “请输入月份:”(1 - 12)
 9                 Console.Write("请输入月份:");
10                 int y = Convert.ToInt32(Console.ReadLine());
11                 if (y < 1 || y > 12)
12                     Console.WriteLine("输入的月份有误!");
13                 else
14                 {
15                     //    “请输入日期:”(要判断大小月,判断闰年)
16                     Console.Write("请输入日期:");
17                     int rq = Convert.ToInt32(Console.ReadLine());
18                     if (rq < 1 || rq > 31)
19                         Console.WriteLine("输入的日期有误!");
20                     else
21                     {
22                         if ((y == 4 || y == 6 || y == 9 || y == 11) && rq == 31)
23                             Console.WriteLine("输入的日期有误!");
24                         else if(y==2)
25                         {
26                             //判断2月 
27                             if(((n % 4 == 0 && n % 100 != 0) || n % 400 == 0) && (rq==30||rq==31))
28                                 Console.WriteLine("输入的日期有误!");
29                             else if((!((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)) && (rq==29||rq==30||rq==31))
30                                 Console.WriteLine("输入的日期有误!");
31                             else
32                                 Console.Write("您输入的日期为:" + n + "" + y + "" + rq + "日.");
33                         }
34                         else
35                             Console.Write("您输入的日期为:" + n + "" + y + "" + rq + "日.");
36                     }
37                 }
38             }

 

2、计算输入的时间是当前这一年的第几天

 1             //2、计算输入的时间是当前这一年的第几天
 2             Console.Write("正确输入年份:");
 3             int n = Convert.ToInt32(Console.ReadLine());
 4             Console.Write("正确输入月份:");
 5             int y = Convert.ToInt32(Console.ReadLine());
 6             Console.Write("正确输入日期:");
 7             int r = Convert.ToInt32(Console.ReadLine());
 8             int count;//记录第几天
 9             if (y == 1)
10                 count = r;
11             else if (y == 2)
12                 count = 31 + r;
13             else if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)
14             {
15                 if (y == 3)
16                     count = 31 + 28 + r + 1;
17                 else if(y==4)
18                     count = 31 + 28 +31+ r + 1;
19                 else if(y==5)
20                     count = 31 + 28 + 31+30 + r + 1;
21                 else if(y==6)
22                     count = 31 + 28 + 31 + 30 +31+ r + 1;
23                 else if(y==7)
24                     count = 31 + 28 + 31 + 30 + 31 +30+ r + 1;
25                 else if(y==8)
26                     count = 31 + 28 + 31 + 30 + 31 + 30+31 + r + 1;
27                 else if (y ==9)
28                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 +31+ r + 1;
29                 else if (y ==10)
30                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31+30 + r + 1;
31                 else if (y ==11)
32                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30+31 + r + 1;
33                 else 
34                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31+30 + r + 1;
35             }
36             else
37             {
38                 if (y == 3)
39                     count = 31 + 28 + r;
40                 else if (y == 4)
41                     count = 31 + 28 + 31 + r;
42                 else if (y == 5)
43                     count = 31 + 28 + 31 + 30 + r  ;
44                 else if (y == 6)
45                     count = 31 + 28 + 31 + 30 + 31 + r  ;
46                 else if (y == 7)
47                     count = 31 + 28 + 31 + 30 + 31 + 30 + r ;
48                 else if (y == 8)
49                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + r  ;
50                 else if (y == 9)
51                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + r  ;
52                 else if (y == 10)
53                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + r ;
54                 else if (y == 11)
55                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + r;
56                 else 
57                     count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + r;
58             }
59             Console.WriteLine("输入的时间是当前这一年的第"+count+"");
60             //验证
61             //string str = "2001/12/20";
62             //String a= DateTime.Parse(str).DayOfYear.ToString();
63             //Console.WriteLine(a);

 

posted @ 2017-12-06 21:33  Int64  阅读(122)  评论(0编辑  收藏  举报