計算100以內整數的和,這樣算出來是5051多了1為什么呢?
#include <stdio.h>
int main()
{
? ? int sum=0;
? ? int i=0;
? ? while( i<=100 )? //循環條件
? ? {
? ? ? ? i++; ? ? ? ? //改變循環變量的值
? ? ? ? sum=sum+i;
? ? }
? ? printf("100以內所有整數之和為:%d\n", sum);
? ? return 0;
}
#include <stdio.h>
int main()
{
? ? int sum=0;
? ? int i=0;
? ? while( i<=100 )? //循環條件
? ? {
? ? ? ? i++; ? ? ? ? //改變循環變量的值
? ? ? ? sum=sum+i;
? ? }
? ? printf("100以內所有整數之和為:%d\n", sum);
? ? return 0;
}
2017-05-14
舉報
2017-06-12
?i++; ? ? ? ? //改變循環變量的值
sum=sum+i;
把這兩行的位置互換一下。
2017-06-12
完整代碼如下:
#include <stdio.h>
int main()
{
? ? int i,sum=0;
? ? i=0;
? ? while( ?i<=100 ?) ?//循環條件應該是什么呢?
? ? {
? ? ? ? sum=sum+i;
? ? ? ? i++; ? ? ? ? //這里是不是應該改變循環變量的值
? ? }
? ? printf("100以內所有整數之和為:%d\n", sum);
? ? return 0;
}
2017-05-24
樓主我有點不明白,就是我用電腦運行一遍也是5151但是不明白哪里錯了,第一次循環的的時候sum不是=0+1的嘛?然后依次循環到100嘛?
2017-05-14
看錯了,是5151,多了101,加多了,應該把i起始值改為1,或者去掉循環條件里的等于號。