题目是从1到100之间的除了能被7整除之外的所有整数的和。(注意:1到100之间的数)
第一个小程序和第三个小程序是对的。
第一个小程序是对的,不用讲。(不用加)
第二个小程序是错误的。
首先i=0;sum=0;
你一次循环的时候0<100成立,用0除以7取余数,然后i++;
你二次循环的时候1<100成立,用1除以7取余数,然后i++;
.......
.....
...
在第一百次的时候99<100成立,用100除以7取余数,然后i++;
在第一百零一次的时候100<100不成立,不用循环。(此时没有取到100是不是该加呢?)
回头看看,100没取到,而题目要求是1到100之间的数。
第三个小程序是对的.因为首先就对i++了一次,
所以i=0时候,其实是用1除以7取余数.
当然i=99时候,i其实等于100,也取到了100,然后用100除以7取余数。(所以不用加100)
总之第一和三小程序,取到了1和100,第二小程序没有取到(其实和题目已经跑偏了)。
这个程序这样写更加一目了然
int sum = 0;
for (int i = 1; i <= 100; i++)
{
if (i % 7 == 0)
{
continue;
}
else
{
sum += i;
}
}
Console.WriteLine(sum);
Console.ReadKey();
|