0 思维导图
如图 1.1。
图 1.1 数组和列表思维导图
1 练习
- 练习 56_1:当你在 Facebook 上发 po 文时,根据给你你 po 文点赞的人的数量,Facebook 会显示不同的信息:
- 如果没有人点赞,不显示任何信息。
- 如果只有一个人点了赞,就会显示:[朋友的名字]赞了你的 po 文。
- 如果有两个人点了赞,就会显示:[朋友 1]和[朋友 2]赞了你的 po 文。
-
如果超过两个人点赞,就会显示:[朋友 1]、[朋友 2]和其他[其他人的数量]人赞了你的 po 文。
请编写一个程序,不断地要求用户添加不同的名字,直到输入空。根据提供名字的数量和模式在控制台输出消息。
var nameList = new List<string>();
Console.WriteLine("Please enter names:");
while (true)
{
var input = Console.ReadLine();
if (string.IsNullOrEmpty(input))
{
break;
}
nameList.Add(input);
}
switch (nameList.Count)
{
case 0:
break;
case 1:
Console.WriteLine(string.Format("{0} likes your post.", nameList[0]));
break;
case 2:
Console.WriteLine(string.Format("{0} and {1} like your post.", nameList[0], nameList[1]));
break;
default:
Console.WriteLine(string.Format("{0}, {1} and {2} others like your post.", nameList[0], nameList[1], (nameList.Count - 2)));
break;
}
- 练习 56_2:编写一个程序要求用户输入他们的名字。使用一个数组来存储反转后的名字。在控制台打印反转后的名字。
Console.WriteLine("Please enter your name:");
var input = Console.ReadLine();
var reverseName = input.ToCharArray();
Array.Reverse(reverseName);
Console.WriteLine(reverseName);
- 练习 56_3:编写一个程序让用户输入 5 个数字。如果这个数字以前被输入过,就让用户重新输入。直到输入 5 个不同的数字,然后对它们进行排序,输出到控制台。
var numbers = new List<int>();
Console.WriteLine("Please enter 5 unique numbers:");
while (numbers.Count < 5)
{
var input = Convert.ToInt32(Console.ReadLine());
if (numbers.Contains(input))
{
Console.WriteLine("Already contains: {0}, Please retry.", input);
}
else
{
numbers.Add(input);
}
}
Console.WriteLine();
numbers.Sort();
foreach (var number in numbers)
{
Console.WriteLine(number);
}
- 练习 56_4:编写一个程序要求用户持续输入数字直到输入 "Quit"。不重复的输出所有之前输入过的数字。
var numbers = new List<int>();
Console.WriteLine("Please enter numbers until enter \"Quit\"");
while (true)
{
var input = Console.ReadLine();
if (input.ToLower() == "quit")
{
break;
}
var number = Convert.ToInt32(input);
if (!numbers.Contains(number))
{
numbers.Add(number);
}
}
Console.WriteLine();
foreach (var number in numbers)
{
Console.WriteLine(number);
}
- 练习 56_5:编写一个程序要求用户提供一组用逗号隔开的数字。如果输入为空或者少于 5 个数字,显示 "Invalid List" 并要求用户重新输入;否则,显示这组数中最小的三个数。
var numbers = new List<int>();
Console.WriteLine("Please enter numbers separate with comma:");
while (true)
{
var input = Console.ReadLine();
var numberList = input.Split(',');
foreach (var number in numberList)
{
numbers.Add(Convert.ToInt32(number));
}
if (numbers.Count < 5)
{
Console.WriteLine("Invalid List");
numbers.Clear();
}
else
{
break;
}
}
numbers.Sort();
for (var i = 0; i < 3; i++)
{
Console.WriteLine(numbers[i]);
}