1.输入姓名直到输入的是quit时(不区分大小写),中止输入而后显示出输入的姓名个数及姓名:ide
要求结果以下图所示:ui
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //集合存放输入的姓名 6 List<string> listName = new List<string>(); 7 //记录输入的姓名个数 8 int count = 0; 9 int wangCount = 0; 10 while (true) 11 { 12 Console.WriteLine("请输入姓名:"); 13 string input = Console.ReadLine(); 14 if (input[0]=='王') 15 { 16 wangCount++; 17 } 18 count++; 19 listName.Add(input); 20 } 21 //这个是使用list的count属性 22 //Console.WriteLine("你一共输了{0}同窗的姓名,分别以下:", count); 23 Console.WriteLine("你一共输了{0}同窗的姓名,分别以下:",count); 24 GetList(listName); 25 Console.ReadKey(); 26 } 27 /// <summary> 28 /// 遍历姓名集合 29 /// </summary> 30 /// <param name="listName"></param> 31 private static void GetList(List<string> listName) 32 { 33 34 for (int i = 0; i < listName.Count; i++) 35 { 36 Console.WriteLine(listName[i]); 37 } 38 } 39 }
2.题目内容同上题,再增长一个显示姓“王”的同窗的个数,此处不考虑复姓问题。结果以下图:spa
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //集合存放输入的姓名 6 List<string> listName = new List<string>(); 7 //记录输入的姓名个数 8 int count = 0; 9 int wangCount = 0; 10 while (true) 11 { 12 Console.WriteLine("请输入姓名:"); 13 string input = Console.ReadLine(); 14 if (input[0]=='王') 15 { 16 wangCount++; 17 } 18 if (input.ToLower() == "quit") 19 { 20 break; 21 } 22 count++; 23 listName.Add(input); 24 } 25 //这个是使用list的count属性 26 //Console.WriteLine("你一共输了{0}同窗的姓名,分别以下:", count); 27 Console.WriteLine("你一共输了{0}同窗的姓名,分别以下:",count); 28 GetList(listName); 29 //使用拉姆达表达式,能看懂就行 30 //Console.WriteLine("你输入的姓名中姓王的有{0}个同窗", listName.Find(x => x[0] == '王').Count()); 31 Console.WriteLine("你输入的姓名中姓王的有{0}个同窗",wangCount); 32 Console.ReadKey(); 33 } 34 /// <summary> 35 /// 遍历姓名集合 36 /// </summary> 37 /// <param name="listName"></param> 38 private static void GetList(List<string> listName) 39 { 40 41 for (int i = 0; i < listName.Count; i++) 42 { 43 Console.WriteLine(listName[i]); 44 } 45 } 46 }
若有更好的方案,请评论,谢谢!code