如何从循环中存储多个值,并根据输入显示星号

本文关键字:输入 显示 循环 存储 | 更新日期: 2023-09-27 18:12:22

这个问题要求编写一个程序,接受五个'stores'的输入。理想情况下,输入应该是100到2000的范围。每个输入应除以100,并以星号显示该数量(即500是*,等等)。我相信我已经完成了第一部分,但我不知道如何着手完成剩下的部分。我不会用数组,因为我还没学过,我想自己学会,而不是从其他学生那里复制粘贴。到目前为止,我只有

int loop;
loop = 1;
while (loop <= 5)
{
    string input1;
    int iinput1, asteriskcount1;
    Console.WriteLine("Input number of sales please!");
    input1 = Console.ReadLine();
    //store value?
    loop = loop + 1;
    input1 = Convert.ToInt32(input1);
    asteriskcount1 = iinput1 / 10;
}

如何从循环中存储多个值,并根据输入显示星号

不确定我是否明白你想做什么。但这也许会有帮助。这是未经测试的,但它应该做什么我认为你在问,但我不确定你想做的星号。如果这不是你想要的,请再解释一下。

    string Stored = "";
    for (int i=0; i < 5; i++;)
    {
        string input1;
        int iinput1, asteriskcount1;
        Console.WriteLine("Input number of sales please!");
        input1 = Console.ReadLine();
        //Adds to existing Stored value
        Stored += input1 + " is "; 
        //Adds asterisk
        iinput1 = Convert.ToInt32(input1);
        asteriskcount1 = iinput1 / 100;
        for(int j = 0; j < asteriskcount1; j++)
        {
             Stored += "*";
        }
        //Adds Comma
        if(i != 4)
             Stored += ",";
    }
    Console.WriteLine(Stored); //Print Result

我不想为你写出来,但这里有一些想法…

首先,您可以为5个商店执行for循环:

for (int loop = 0; loop < 5; loop++)

你可能需要asterickCount(而不是asterickCount1),因为你在循环中。你还需要除以100,因为你的范围是2000,你有80个字符在主机上。这意味着它将打印最多20个星号。

你需要一个PrintAstericks(int count);你在计算完asterickCount之后调用的函数。该函数只是查找并调用Console。Write(不是WriteLine)将星号写入n次(新字符串具有接受char和count的重载)。

但是,该模式将在您接受每个输入后打印星号。如果您希望模式是(1)接受五家商店的计数,然后(2)打印所有五家商店的星号行,那么您将需要一个具有5个槽的数组来存储输入,然后循环遍历数组并打印星号行。

最后,您需要对输入进行一些验证。看看Int32。TryParse:

http://msdn.microsoft.com/en-us/library/bb397679.aspx

超级简单

<>之前int asteriskCount = int. parse (input1)/100;字符串输出=新字符串('*',asteriskCount);