C 求1000以下所有3或5的倍数之和

C 求1000以下所有3或5的倍数之和,c,C,这个程序我试了很多次,但我写不出答案 #include<stdio.h> int main() { long unsigned int i,sum=0; clrscr(); for(i=0;i<=1000;i++) { if((i%5==0)||(i%3==0)) { sum=sum+1; } } printf("%d",sum); getchar()

这个程序我试了很多次,但我写不出答案

#include<stdio.h>
int main()
{
    long unsigned int i,sum=0;
    clrscr();
    for(i=0;i<=1000;i++)
    {
        if((i%5==0)||(i%3==0))
        {
            sum=sum+1;
        }
    }
    printf("%d",sum);
    getchar();
    return 0;
}
#包括
int main()
{
长无符号整数i,和=0;
clrsc();
对于(i=0;i
应该是

if((i%5==0)||(i%3==0))
        {
            sum=sum+i;
        }
改变

  sum=sum+1;


非常基本的错误,在if条件之后必须取循环值i而不是1

sum = sum + 1 
一定是

sum = sum + i
如果你不想包括千,你的循环必须是

for(i=0;i<1000;i++)

for(i=0;i您已将
1
硬编码到您的循环中,而不是
i
。它应该是(为清晰起见,添加了空格-免费):

或者更简洁地说:

if ((i % 5 == 0) || (i % 3 == 0))
    {
        sum += i;
    }
for(i=0;i<1000;i++)
if ((i % 5 == 0) || (i % 3 == 0))
    {
        sum = sum + i;
    }
if ((i % 5 == 0) || (i % 3 == 0))
    {
        sum += i;
    }