如何从循环中存储多个值,并根据输入显示星号
本文关键字:输入 显示 循环 存储 | 更新日期: 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);