6 数组和列表

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]);
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容