【发布时间】:2015-05-14 18:50:49
【问题描述】:
我是编程新手,我想我自己搞糊涂了这些整数的总和。我知道这是基本的,但我不知道我哪里出错了。
namespace Wip
{
class Program
{
static void Main(string[] args)
{
string strNum1, strNum2;
int num1, num2;
int i = 0;
int sum =0 ;
Console.WriteLine("Please enter a integer between 1 and 100"); // asks for user input
strNum1 = Console.ReadLine();
num1 = int.Parse(strNum1);
do //repeat asking for user input
{
Console.WriteLine("Please enter another integer between 1 and 100"); // asks for user input
strNum2 = Console.ReadLine();
num2 = int.Parse(strNum2); //input is stored as num2
sum = num2; //store num2 in sum
i++;
if (num2 >= 100) // if num2 int is greater than 100
{
sum = (num1 +num2 +sum); // do calculation
Console.WriteLine("No of integers entered is {0} {1}", i, sum); //output calculation
}
}
while (i < 100);
}
}
}
任何帮助将不胜感激谢谢大家!
【问题讨论】:
-
当输入的值 > 100 时,是否要将其包含在总和中,是否也应退出?如果它不应该退出,它应该继续现有的总和,还是重新开始?现在,您继续前进,直到用户输入 100 个数字。但总的来说,您的问题是您没有在进行过程中对数字求和,因此您在此过程中会损失一些。
-
您可能指的是
sum += num2;,而不是sum = num2;,因为后者只是将每次迭代的总和重置为当前数字2。 -
您是否尝试过调试代码以查看值设置错误的位置,或者使用断点在相关行停止代码执行?下面的答案会告诉你你做错了什么,但如果你调试自己的代码并发现你的错误,你会更好。
-
我对 += 不太熟悉,有人可以解释一下吗?对糟糕的问题表示歉意,但我是编程新手。你们真是太棒了,不给我发火!谢谢!
-
@CC1331 是addition assignment operator 基本上是
x += y;只是缺少x = x + y;。