【发布时间】:2018-12-03 20:19:50
【问题描述】:
我对如何从逻辑上思考我的代码有点问题。 我想要做的是让用户输入他们想要多少个数字,然后询问他们希望该数字序列从哪里开始。然后我会打印出数字。因此,如果用户输入 7,然后输入 4,结果将是 4 5 6 7 8 9 10。 到目前为止,这是我的代码
int userInInt, userIntStart;
Console.Write("How many integers do you want to print? ");
userInInt = Int32.Parse(Console.ReadLine());
Console.Write("What is the first integer you want printed? ");
userIntStart = Int32.Parse(Console.ReadLine());
for(int counts = userIntStart; userIntStart <= userInInt; userIntStart++)
{
Console.WriteLine(userIntStart);
}
在执行此 for 循环后,我意识到它只会增加起始数字,直到 userInInt 这不是我想要的。我花了一段时间试图弄清楚我还需要什么。 谢谢
【问题讨论】:
-
我认为你需要重新评估那个 for 循环。不要增加 userIntStart 变量。增加计数变量
-
和Brian所说的一样,我认为你想要
WriteLine的数字是counts,你应该在每次迭代后检查并增加counts-int counts = userIntStart; counts <= userInInt + userIntStart; counts++;因为现在counts未使用。否则,您可以完全省略第一条语句。 -
但是如果我这样改变,结果不是 4 5 6 7 吗?我想尝试成为 4 5 6 7 8 9 10 例如,如果用户希望从 4 开始打印 7 个数字
-
不,因为您会递增直到
counts <= userInInt + userIntStart。重要提示:+ userIntStart. -
哦,好吧,我想我明白为什么需要 +userIntStart 了。非常感谢!
标签: c# numbers user-input increment