HQ-day12-13 C#控制台程序习题集②

6.一个游戏,前20关是每一关自身的分数,21-30关每一关是10分,31-40关,每一关是20分,41-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数。利用if嵌套for。

 1             Console.Write("请输入关数");
 2             int a = int.Parse(Console.ReadLine());
 3             int sum = 0;
 4 
 5             if (a >= 1 && a <= 50)
 6             {
 7                 if (a >= 1 && a <= 20)
 8                 {
 9                     for (int i = 1; i <= a; i++)
10                     {
11                         sum += i;
12                     }
13                 }
14                 else if (a >= 21 && a <= 30)
15                 {
16                     for (int i = 1; i <= 20; i++)
17                     {
18                         sum += i;
19                     }
20                     for (int i = 21; i <= a; i++)
21                     {
22                         sum += 10;
23                     }
24                 }
25                 else if (a <= 40)
26                 {
27                     for (int i = 1; i <= 20; i++)
28                     {
29                         sum += i;
30                     }
31                     for (int i = 21; i <= 30; i++)
32                     {
33                         sum += 10;
34                     }
35                     for (int i = 31; i <= a; i++)
36                     {
37                         sum += 20;
38                     }
39                 }
40                 else if (a <= 49)
41                 {
42                     for (int i = 1; i <= 20; i++)
43                     {
44                         sum += i;
45                     }
46                     for (int i = 21; i <= 30; i++)
47                     {
48                         sum += 10;
49                     }
50                     for (int i = 31; i <= 40; i++)
51                     {
52                         sum += 20;
53                     }
54                     for (int i = 41; i <= a; i++)
55                     {
56                         sum += 30;
57                     }
58                 }
59 
60 
61 
62                 else
63                 {
64                     for (int i = 1; i <= 20; i++)
65                     {
66                         sum += i;
67                     }
68                     for (int i = 21; i <= 30; i++)
69                     {
70                         sum += 10;
71                     }
72                     for (int i = 31; i <= 40; i++)
73                     {
74                         sum += 20;
75                     }
76                     for (int i = 41; i <= 49; i++)
77                     {
78                         sum += 30;
79                     }
80                     for (int i = 50; i <= a; i++)
81                     {
82                         sum += 100;
83                     }
84 
85                 } Console.WriteLine("分数是:" + sum);
86             }
87             else
88             {
89                 Console.Write("输入有误");
90             }

6.一个游戏,前20关是每一关自身的分数,21-30关每一关是10分,31-40关,每一关是20分,41-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数。利用for嵌套if。

 1             Console.Write("请输入关数:");
 2             int a = int.Parse(Console.ReadLine());
 3             int sum = 0;
 4             if (a >= 1 && a <= 50)
 5             {
 6                 for (int i = 1; i <= a; i++)
 7                 {
 8                     if (i >= 1 && i <= 20)
 9                     {
10                         sum += i;
11                     }
12                     else if (i >= 21 && i <= 30)
13                     {
14                         sum += 10;
15                     }
16                     else if (i >= 31 && i <= 40)
17                     {
18                         sum += 20;
19                     }
20                     else if (i >= 41 && i <= 49)
21                     {
22                         sum += 30;
23                     }
24                     else
25                     {
26                         sum += 100;
27                     }
28                 }
29                 Console.WriteLine(sum);
30             }
31             else
32             {
33                 Console.WriteLine("输入有误");
34             }

6.输入月份和日期,输出是今年的第多少天。(2月按照28天计算)利用switch case。

 1             int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30;
 2             Console.Write("请输入月份:");
 3             int m = int.Parse(Console.ReadLine());
 4             Console.Write("请输入日期");
 5             int d = int.Parse(Console.ReadLine());
 6             switch (m)
 7             {
 8                 case 1:
 9                     Console.WriteLine("" + d + "");
10                     break;
11                 case 2:
12                     Console.WriteLine("" + (m1 + d) + "");
13                     break;
14                 case 3:
15                     Console.WriteLine("" + (m1 + m2 + d) + "");
16                     break;
17                 case 4:
18                     Console.WriteLine("" + (m1 + m2 + m3 + d) + "");
19                     break;
20                 case 5:
21                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + d) + "");
22                     break;
23                 case 6:
24                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + m5 + d) + "");
25                     break;
26                 case 7:
27                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + m5 + m6 + d) + "");
28                     break;
29                 case 8:
30                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + d) + "");
31                     break;
32                 case 9:
33                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d) + "");
34                     break;
35                 case 10:
36                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d) + "");
37                     break;
38                 case 11:
39                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d) + "");
40                     break;
41                 case 12:
42                     Console.WriteLine("" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d) + "");
43                     break;
44                 default:
45                     Console.WriteLine("输入有误");
46                     break;
47 
48             }

6.百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱?利用for嵌套+if筛选。

 1             int g;
 2             int m;
 3             int x;
 4             int biao = 0;
 5             for (g = 0; g <= 50; g++)
 6             {
 7                 for (m = 0; m <= 100; m++)
 8                 {
 9                     for (x = 0; x <= 200; x++)
10                     {
11                         if (g * 2 + m + 0.5 * x == 100 && g + m + x == 100)
12                         {
13                             biao++;
14                             Console.WriteLine("这是第" + biao + "种买法,公鸡有{0},母鸡有{1},小鸡有{2}只", g, m, x);
15                         }
16                     }
17                 }
18             }

6.大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配?利用for嵌套+if筛选。

 1             int d;
 2             int z;
 3             int x;
 4             int biao=0;
 5             for(d=0;d<=50;d++)
 6             {
 7                 for(z=0;z<=100;z++)
 8                 {
 9                     for (x = 0; x <= 200; x++)
10                     {
11                         if (2 * d + z + 0.5 * x == 100&&d+z+x==100)
12                         {
13                             biao++;
14                             Console.WriteLine("这是第" + biao + "种分配法,大马有{0},中马有{1},小马有{2}只", d, z, x);
15                         }
16                     }
17                 }

6.纸张可以无限次对折,纸张厚度为0.07毫米。问多少次对折至少可以超过8848?利用while。

 1             int a = 7;
 2             int b = 884800000;
 3             int i = 1;
 4             while (true)
 5             {
 6                 a *= 2;
 7                 if (a > b)
 8                 {
 9                     Console.WriteLine(i);
10                     Console.WriteLine(a);
11                     break;
12                 }
13                 i++;
14             }

6.兔子生兔子。除了第一个月之后的所有月份都可以直接执行。成兔=上个月的成兔加上上个月的小兔。小兔=上个月的幼兔。幼兔=上个月的成兔加上上个月的小兔(即这个月的成兔)利用for嵌套if。

 1             int ct = 0;
 2             int xt = 0; int yt = 1; int zt = 1;
 3             Console.Write("请输入月份");
 4             int m = int.Parse(Console.ReadLine());
 5             for (int i = 1; i <= m; i++)
 6             {
 7                 if (m == 1)
 8                 {
 9                     xt = 0;
10                     yt = 1;
11                     ct = 0;
12                 }
13                 else
14                 {
15                     ct = ct + xt;
16                     xt = yt;
17                     yt = ct + xt;
18                 }
19                 zt = ct + yt + xt;
20 
21             }
22             Console.WriteLine("" + m + "月后,成兔是:" + ct);
23             Console.WriteLine("" + m + "月后,小兔是:" + xt);
24             Console.WriteLine("" + m + "月后,幼兔是:" + yt);
25             Console.WriteLine("" + m + "月后,总数是:" + zt);
26             Console.ReadLine();
27             Console.ReadLine();

6.五个候选班长,20人投票。输入1-5来表示支持哪(个人)最后查看票数,看那个人胜出。不是1~5之内的数视为票作废。利用数组。

 1             Console.WriteLine("班长竞选,输入1-5来支持你心目中的班长");
 2             int[] p = new int[20];
 3             for (int i = 0; i < 20; i++)
 4             {
 5                 Console.Write("请第" + (i + 1) + "个人投票");
 6                 p[i] = int.Parse(Console.ReadLine());
 7             }
 8             int x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0, x6 = 0;
 9             for (int j = 0; j < 20; j++)
10             {
11                 if (p[j] == 1)
12                 {
13                     x1++;
14                 }
15                 if (p[j] == 2)
16                 {
17                     x2++;
18                 }
19                 if (p[j] == 3)
20                 {
21                     x3++;
22                 }
23                 if (p[j] == 4)
24                 {
25                     x4++;
26                 }
27                 if (p[j] == 5)
28                 {
29                     x5++;
30                 }
31                 if (p[j] == 6)
32                 {
33                     x6++;
34                 }
35             }
36             Console.WriteLine("1号票是" + x1 + ",2号票是" + x2 + ",3号票是" + x3 + ",4号票是" + x4 + ",5号票是" + x5 + ",废票是" + x6 + "");

输入手机号码个数,根据手机号码个数创建数组。做抽奖活动。

 1             Console.Write("请输入手机号码个数:");
 2             int a = int.Parse(Console.ReadLine());
 3             string[] hm = new string[a];
 4             for (int i = 0; i < a; i++)
 5             {
 6                 Console.Write("请输入第" + (i + 1) + "个号码");
 7                 hm[i] = Console.ReadLine();
 8             }
 9             Console.WriteLine("号码输入完毕,请按回车开始滚屏");
10             Console.ReadLine();
11             Random ran = new Random();
12             int j = 0;
13             for (; ; )
14             {
15                 int hm1 = ran.Next(a);
16                 Console.Clear();
17                 Console.Write(hm[hm1]);
18                 System.Threading.Thread.Sleep(100);
19                 if (j == 49)
20                 {
21                     break;
22                 }
23                 j++;
24             }
25             Console.ReadLine();

 

posted @ 2016-03-18 15:03  天照丶鼬  阅读(403)  评论(0编辑  收藏  举报