用while continue实现计算从1到100之间的除了能被7整除之外所有整数的和。
我编程的代码如下: int sum = 0, i = 0;
while (i < 100)
{
i++;
if (i % 7 == 0)
{
continue;
}
sum = sum + i;
}
Console.WriteLine("和是"+sum);
Console.ReadKey();运行结果是4315.请问错在哪里?
教程上正确的代码是:
int sum = 0, i = 0;
while (i < 100)
{
if (i % 7 == 0)
{
i++;
continue;
}
sum = sum + i;
i++;
}
Console.WriteLine("和是"+sum);
Console.ReadKey();正确的结果是4215.
请问大家我上面那段代码逻辑上是哪里错了?
我编程的代码如下: int sum = 0, i = 0;
while (i < 100)
{
i++;
if (i % 7 == 0)
{
continue;
}
sum = sum + i;
}
Console.WriteLine("和是"+sum);
Console.ReadKey();运行结果是4315.请问错在哪里?
教程上正确的代码是:
int sum = 0, i = 0;
while (i < 100)
{
if (i % 7 == 0)
{
i++;
continue;
}
sum = sum + i;
i++;
}
Console.WriteLine("和是"+sum);
Console.ReadKey();正确的结果是4215.
请问大家我上面那段代码逻辑上是哪里错了?
int sum = 0, i = 0;
while (i < 100)
{
i++; // i=100
if (i % 7 == 0)
{
continue;
}
sum = sum + i; //执行,正好多100
}
Console.WriteLine("和是"+sum);
Console.ReadKey();
===========================
i++; // i=100sum = sum + i; //执行,正好多100
int sum = 0, i = 0;
while (i < 100)
{
i++; // i=100
if (i % 7 == 0)
{
continue;
}
sum = sum + i; //执行,正好多100
}
Console.WriteLine("和是"+sum);
Console.ReadKey();
===========================
i++; // i=100sum = sum + i; //执行,正好多100
你其实是sum += (n+1) 也就是1加到100
人家是sum += n 也就是0加到99.
其实就是每次都多加了一个1,
循环了100次,多加了100.我觉得这么简单的问题,上过高中的人都应该可以自己找到错误.我只是觉得楼主不太适合编程,也许应该考虑找个更适合自己的职业,或者行业.
一行代码的事情:
int result = Enumerable.Range(1, 100).Where(x => x % 7 != 0).Sum();
Console.WriteLine(result);