刚学C,遇到个题目,想了好久都不会,求解答

  1. 请编写程序,计算出 1000 以内(不包含 1000)的自然数中,属于 3 或 5 的倍数的数字之和?

其实思路永远是数学问题,如果m是3的倍数,那么m/3=n...0(m整除以3等于n余0)
余数为0是检验一个数的因子的办法,在C语言中表示为m%3==0

#include <stdio.h>
int main()
{
    int sum = 0;
    for(int i=0;i<1000;i++) {
        if (i%3==0 || i%5==0) {
            sum+=i;
        }
    }
    printf("%d",sum);
    return 0;
}
#include<stdio.h>
int main(){
  int sum=0;
  for(int i=0;i<1000;i++)
  {
      if(i%3==0||i%5==0)
        sum+=i;
       
  }
   printf("%d",sum);
}

用求余就可以了,为0表示倍数

#include<stdio.h>
int main()
{
    int sum = 0;
    for(int i=1;i<1000;i++)
    {
          if(i%3==0 || i%5==0)
              sum += i;
    }
    printf("1000以内自然数中3或5的倍数之和为:%d\n",sum);
    return 0;
}


int sum = 0;
    for (int i = 0; i < 1000; i++)
    {
        if (i % 3 == 0 || i % 5 == 0)
        {
            sum += i;
        }
    }
    printf("%d", sum);

 //代码改一下我这是c++的代码,但思路是对的
#include<bits/stdc++.h>
using namespace std;
int main()
{
    for(int i=1;i<=1000;i++)
    {
        if(i%3==0||i%5==0)
        {
            cout<<i<<" ";
        }
    }
    return 0;
}