编写程序,求800~900之间的所有偶数之和。(c++)我的代码有什么问题吗?

#include<stdio.h>
main(){
int i=800,sum=0;
do{
if(i%2==0){
sum+=i;
i++;
}
}
while(i<=900);
printf("%d",sum);
}

把i++放在if外
只有i%2==0时累加,但不管i是不是偶数,在循环结尾都要对i自增,否则循环会卡住
修改后如下

#include <stdio.h>
int main()
{
    int i = 800, sum = 0;
    do
    {
        if (i % 2 == 0)
        {
            sum += i;
        }
        i++;
    } while (i <= 900);
    printf("%d", sum);
}

img

有帮助望采纳~

i++放到if外面。可以每次+2,就不用求余判断了

#include<stdio.h>
main(){
int i=800,sum=0;
do{
      sum+=i;
      i+=2;
}
while(i<=900);
printf("%d",sum);
}