c# 输入姓名直到输入的是quit时,停止输入然后显示出输入的姓名个数及姓名

时间:2022-11-24 04:17:15

1.输入姓名直到输入的是quit时(不区分大小写),停止输入然后显示出输入的姓名个数及姓名:

要求结果如下图所示:

c#  输入姓名直到输入的是quit时,停止输入然后显示出输入的姓名个数及姓名

 class Program
{
static void Main(string[] args)
{
//集合存放输入的姓名
List<string> listName = new List<string>();
//记录输入的姓名个数
int count = ;
int wangCount = ;
while (true)
{
Console.WriteLine("请输入姓名:");
string input = Console.ReadLine();
if (input[]=='王')
{
wangCount++;
}
count++;
listName.Add(input);
}
//这个是使用list的count属性
//Console.WriteLine("你一共输了{0}同学的姓名,分别如下:", count);
Console.WriteLine("你一共输了{0}同学的姓名,分别如下:",count);
GetList(listName);
Console.ReadKey();
}
/// <summary>
/// 遍历姓名集合
/// </summary>
/// <param name="listName"></param>
private static void GetList(List<string> listName)
{ for (int i = ; i < listName.Count; i++)
{
Console.WriteLine(listName[i]);
}
}
}

2.题目内容同上题,再增加一个显示姓“王”的同学的个数,此处不考虑复姓问题。结果如下图:

c#  输入姓名直到输入的是quit时,停止输入然后显示出输入的姓名个数及姓名

   class Program
{
static void Main(string[] args)
{
//集合存放输入的姓名
List<string> listName = new List<string>();
//记录输入的姓名个数
int count = ;
int wangCount = ;
while (true)
{
Console.WriteLine("请输入姓名:");
string input = Console.ReadLine();
if (input[]=='王')
{
wangCount++;
}
if (input.ToLower() == "quit")
{
break;
}
count++;
listName.Add(input);
}
//这个是使用list的count属性
//Console.WriteLine("你一共输了{0}同学的姓名,分别如下:", count);
Console.WriteLine("你一共输了{0}同学的姓名,分别如下:",count);
GetList(listName);
//使用拉姆达表达式,能看懂就行
//Console.WriteLine("你输入的姓名中姓王的有{0}个同学", listName.Find(x => x[0] == '王').Count());
Console.WriteLine("你输入的姓名中姓王的有{0}个同学",wangCount);
Console.ReadKey();
}
/// <summary>
/// 遍历姓名集合
/// </summary>
/// <param name="listName"></param>
private static void GetList(List<string> listName)
{ for (int i = ; i < listName.Count; i++)
{
Console.WriteLine(listName[i]);
}
}
}

如有更好的方案,请评论,谢谢!