// 13.输入月份和日期,输出是今年的第多少天。(2月按照28天计算)利用switch case。
int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30; Console.Write("请输入月份:"); int m = int.Parse(Console.ReadLine()); Console.Write("请输入日期:"); int d = int.Parse(Console.ReadLine()); switch (m) { case 1: Console.WriteLine("现在是今年的第" + d + "天。"); break; case 2: Console.WriteLine("现在是今年的第" + (m1 + d) + "天。"); break; case 3: Console.WriteLine("现在是今年的第" + (m1 + m2 + d) + "天。"); break; case 4: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + d) + "天。"); break; case 5: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + d) + "天。"); break; case 6: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + d) + "天。"); break; case 7: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + d) + "天。"); break; case 8: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + d) + "天。"); break; case 9: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d) + "天。"); break; case 10: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d) + "天。"); break; case 11: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d) + "天。"); break; case 12: Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d) + "天。"); break; default: Console.WriteLine("您的输入有误!"); break; } Console.ReadLine();
// 14.百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,
总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱?利用for嵌套+if筛选。int sum = 0; for (int gj = 0; gj <= 50; gj++) { for (int mj = 0; mj <= 100; mj++) { for (int xj = 0; xj <= 200; xj++) { if (2 * gj + mj + 0.5 * xj == 100 && gj + mj + xj == 100) { sum++; Console.WriteLine("这是第" + sum + "种情况:公鸡" + gj + "只。母鸡" + mj + "只,小鸡" + xj + "只。"); } } } } Console.ReadLine();
//15.大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配?利用for嵌套+if筛选。
int sum = 0; for (int da = 0; da <= 50; da++) { for (int zhong = 0; zhong <= 100; zhong++) { for (int xiao = 0; xiao <= 200; xiao++) { if (2 * da + zhong + 0.5 * xiao == 100 && da + zhong + xiao == 100) { sum++; Console.WriteLine("这是第" + sum + "种情况:大马" + da + "头,中马" + zhong + "头,小马" + xiao + "头。"); } } } } Console.ReadLine();
// 16.纸张可以无限次对折,纸张厚度为0.07毫米。问多少次对折至少可以超过8848?利用while。
int a = 7; int i = 1; while (true) { a *= 2; if (a >= 884800000) { Console.WriteLine(i); Console.WriteLine(a); break; } i++; } Console.ReadLine();
// 17.兔子生兔子。除了第一个月之后的所有月份都可以直接执行。
成兔=上个月的成兔加上上个月的小兔。小兔=上个月的幼兔。幼兔=上个月的成兔加上上个月的小兔(即这个月的成兔) 利用for嵌套if。Console.Write("请输入月数:"); int m = int.Parse(Console.ReadLine()); int ct = 0; int xt = 0; int yt = 0; int zong = 0; if (m > 0) { for (int i = 1; i <= m; i++) { if (i == 1) { ct = 0; xt = 0; yt = 1; } else { ct = ct + xt; xt = yt; yt = ct; } } zong = ct + xt + yt; Console.WriteLine("总共有" + zong + "对兔子,有成兔" + ct + "对,小兔" + xt + "对,幼兔" + yt + "对。"); } else { Console.WriteLine("您的输入有误!"); } Console.ReadLine();
//18.输入人数,输入每个人的成绩,需要最高分、最低分,去掉两个最高分,去掉两个最低分,求平均分。
Console.Write("请输入班级人数:"); int a = int.Parse(Console.ReadLine()); double[] fen = new double[a]; for (int i = 0; i < a; i++) { Console.Write("请输入第" + (i + 1) + "个人的成绩"); fen[i] = double.Parse(Console.ReadLine()); } double zhong; for (int i = 0; i < a; i++) { for (int j = i; j < a - 1; j++) { if (fen[i] < fen[j + 1]) { zhong = fen[i]; fen[i] = fen[j + 1]; fen[j + 1] = zhong; } } } Console.WriteLine("最高分是" + fen[0]); Console.WriteLine("最低分是" + fen[a - 1]); double sum = 0; for (int i = 2; i < a - 2; i++) { sum += fen[i]; } Console.WriteLine("平均分是" + sum / (a - 4));
// 19.五个候选班长,20人投票。输入1-5来表示支持哪(个人)最后查看票数,看那个人胜出。
不是1~5之内的数视为票作废。利用数组。一、利用switch
Console.WriteLine("候选人为:1,张一;2,张二;3,张三;4,张四;5,张五"); Console.WriteLine("请输入1-5来表示支持哪个人"); int[] shuzu = new int[20]; for (int i = 0; i < 20; i++) { Console.Write("请输入第" + (i + 1) + "个人的投票:"); shuzu[i] = int.Parse(Console.ReadLine()); } int[] a = new int[5]; int fei = 0; for (int i = 0; i < 20; i++) { switch (shuzu[i]) { case 1: a[0]++; break; case 2: a[1]++; break; case 3: a[2]++; break; case 4: a[3]++; break; case 5: a[4]++; break; default: fei++; break; } } Console.WriteLine("张一:" + a[0]); Console.WriteLine("张二:" + a[1]); Console.WriteLine("张三:" + a[2]); Console.WriteLine("张四:" + a[3]); Console.WriteLine("张五:" + a[4]); Console.WriteLine("废票为:" + fei); if (a[0] > a[1] && a[0] > a[2] && a[0] > a[3] && a[0] > a[4]) { Console.WriteLine("获胜者为张一;票数为" + a[0]); } if (a[1] > a[0] && a[1] > a[2] && a[1] > a[3] && a[1] > a[4]) { Console.WriteLine("获胜者为张二;票数为" + a[1]); } if (a[2] > a[0] && a[2] > a[1] && a[2] > a[3] && a[2] > a[4]) { Console.WriteLine("获胜者为张三;票数为" + a[2]); } if (a[3] > a[0] && a[3] > a[1] && a[3] > a[2] && a[3] > a[4]) { Console.WriteLine("获胜者为张四;票数为" + a[3]); } if(a[4] > a[0] && a[4] > a[1] && a[4] > a[2] && a[4] > a[3]) { Console.WriteLine("获胜者为张五;票数为" + a[4]); } Console.ReadLine();
二、利用if和for循环
Console.WriteLine("候选人为:1,张一;2,张二;3,张三;4,张四;5,张五"); Console.WriteLine("请输入1-5来表示支持哪个人"); int[] shuzu = new int[20]; for (int i = 0; i < 20; i++) { Console.Write("请输入第" + (i + 1) + "个人的投票:"); shuzu[i] = int.Parse(Console.ReadLine()); } int []a=new int[5]; int fei=0; for (int i = 0; i < 20; i++) { if (shuzu[i] == 1) { a[0]++; } else if (shuzu[i] == 2) { a[1]++; } else if (shuzu[i] == 3) { a[2]++; } else if (shuzu[i] == 4) { a[3]++; } else if (shuzu[i] == 5) { a[4]++; } else { fei++; } } Console.WriteLine("张一:" + a[0]); Console.WriteLine("张二:" + a[1]); Console.WriteLine("张三:" + a[2]); Console.WriteLine("张四:" + a[3]); Console.WriteLine("张五:" + a[4]); Console.WriteLine("废票为:" + fei); if (a[0] > a[1] && a[0] > a[2] && a[0] > a[3] && a[0] > a[4]) { Console.WriteLine("获胜者为张一;票数为" + a[0]); } else if (a[1] > a[0] && a[1] > a[2] && a[1] > a[3] && a[1] > a[4]) { Console.WriteLine("获胜者为张二;票数为" + a[1]); } else if (a[2] > a[0] && a[2] > a[1] && a[2] > a[3] && a[2] > a[4]) { Console.WriteLine("获胜者为张三;票数为" + a[2]); } else if (a[3] > a[0] && a[3] > a[1] && a[3] > a[2] && a[3] > a[4]) { Console.WriteLine("获胜者为张四;票数为" + a[3]); } else //(a[4] > a[0] && a[4] > a[1] && a[4] > a[2] && a[4] > a[3]) { Console.WriteLine("获胜者为张五;票数为" + a[4]); } Console.ReadLine();
//20.输入手机号码个数,根据手机号码个数创建数组。做抽奖活动。
利用System.Threading.Thread.Sleep(3000);//程序暂停3秒Console.Write("请输入手机个数:"); int n = int.Parse(Console.ReadLine()); string[] shuzu = new string[n]; for (int i = 0; i < n; i++) { Console.Write("这是第" + (i + 1) + "个号码:"); shuzu[i] = Console.ReadLine(); } Console.WriteLine("按回车键开始滚动!"); Console.ReadLine(); Random ran = new Random(); for (int i = 0; i > -1; i++) { int aa = ran.Next(n); Console.Clear(); Console.WriteLine(shuzu[aa]); System.Threading.Thread.Sleep(100); if (i == 30) { Console.WriteLine("恭喜中奖号码为:" + shuzu[aa]); break; } } Console.ReadLine();
//21.邮箱格式 1.有且只有一个@ 2.不能以@开头 3.@和 . 不能在一起 4.@后至少有一个 . 5.不能以 . 结尾。
Console.Write("请输入你的邮箱账号:"); string mail = Console.ReadLine(); bool a = mail.Contains("@"); if (a == true) { int b = mail.IndexOf("@"); int c = mail.LastIndexOf("@"); if (b == c) { if (b != 0) { string mail1 = mail.Substring(b); if (mail1.Contains(".")) { int d = mail1.IndexOf("."); if (d != 1) { int e = mail1.LastIndexOf("."); if (e != mail1.Length - 1) { Console.WriteLine("邮箱格式输入正确!"); } else { Console.WriteLine("输入有误!"); } } else { Console.WriteLine("输入有误!"); } } else { Console.WriteLine("输入有误!"); } } else { Console.WriteLine("输入有误!"); } } else { Console.WriteLine("输入有误!"); } } else { Console.WriteLine("输入有误!"); }
//22.随机出验证码,对照输入,判断是否正确
string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random ran = new Random(); for (; ; ) { string a = ""; for (int i = 1; i <= 4; i++) { a += s.Substring(ran.Next(s.Length), 1); } Console.WriteLine(a); Console.WriteLine("请输入验证码:"); string b = Console.ReadLine(); if (b.ToLower() == a.ToLower()) { Console.WriteLine("输入正确"); break; } else { Console.Clear(); Console.WriteLine("输入错误"); } } Console.ReadLine();