【发布时间】:2021-10-27 05:22:11
【问题描述】:
输入:一次一个数字。
输出:输入的列表,其中每个偶数除以2,每个奇数乘以3。
步骤如下:
- 输入 4 作为输出 [2]
- 输入 8 得到输出 [1,4]
- 输入 9 并得到输出 [3,2,27]
这是我当前的代码:
List<int> nummerListe = new List<int>();
while (true)
{
Console.WriteLine("Geben Sie die Zahlen ein : ");
string eingabe = Console.ReadLine();
int nummer = int.Parse(eingabe);
Console.WriteLine("Die Zahlen sind : ");
nummerListe.Add(nummer);
for (int i = 1; i <= nummerListe.Count; i++)
{
Console.WriteLine(nummerListe[i]);
Console.Write(" , ");
if (nummer % 2 == 0)
{
nummer /= 2;
Console.WriteLine(nummerListe[0] = nummer);
}
else
{
nummer *= 3;
Console.WriteLine(nummerListe[0]=nummer);
}
}
Console.WriteLine(" ");
}
【问题讨论】:
-
为什么8输出两个数字?为什么 9 输出 3 个数字?
-
前两行与要点相矛盾。你能edit这个问题并澄清一下吗?
-
啊,我想我现在明白你的意思了,但第三个输入 (9) 不应该产生“[3,2,27]”吗?
-
@Llama 我猜这是因为每次您输入一个新号码时,都会对之前保存的所有号码再次执行所有操作。它没有解释为什么它是 [3, 2, 9] 而不是 [3, 2, 27]。
-
Console.WriteLine(nummerListe[0]=nummer)似乎非常错误