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();