乔宽 发表于 2019-5-29 21:24:25

计算出 1000 以下的自然数中,属于 3 或 5 的倍数的数字之和

#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("1000以内的自然数,是3或5的倍数的%d和",sum);
        return 0;
       
       
       
}
答案不对,不知哪错了?

ba21 发表于 2019-5-29 21:35:34

% 3 == 0&&i % 5 == 0
或||

乔宽 发表于 2019-5-29 23:51:08

ba21 发表于 2019-5-29 21:35
% 3 == 0&&i % 5 == 0
或||

好像还是不太对

ba21 发表于 2019-5-30 00:13:43

乔宽 发表于 2019-5-29 23:51
好像还是不太对

1000 以下

i<=1000 // 我觉得这不是1000 以下 我用屁股想都知道。
i<1000 // 我认为这都是1000 以下

bin554385863 发表于 2019-5-30 01:36:47

本帖最后由 bin554385863 于 2019-5-30 11:42 编辑

# include<stdio.h>
void main()
{
      int sum = 0, temp = 0;
      for (size_t i = 0 ; i < 1000 ; i++)
      {
                if (( i % 5 == 0 ) || ( i % 3 == 0 ) &&
(i % 15 != 0))
                {
                        sum = sum + i;
               }
               if (i % 15 == 0)
               {
                         temp = temp + i;//多谢楼下提醒
               }
      }
      printf ("sum = %d", sum + temp);
}

bin554385863 发表于 2019-5-30 01:45:09

你还是再去复习一遍逻辑运算符和数学运算符的优先级吧,如果记不住,就用小括号调整运算顺序。

inc 发表于 2019-5-30 05:08:35

这样统计有重合,15是3和5的倍数,++时15会被算两次

wp231957 发表于 2019-5-30 07:56:11

>>> sum()
1-999 的答案应该是 233168
>>>

乔宽 发表于 2019-5-30 10:06:41

bin554385863 发表于 2019-5-30 01:45
你还是再去复习一遍逻辑运算符和数学运算符的优先级吧,如果记不住,就用小括号调整运算顺序。

好的,看来学的不扎实啊

bin554385863 发表于 2019-5-30 10:33:08

其实我也记不住,→_→。万事不决,上小括号←_←

lianl 发表于 2019-6-4 21:10:28

    for(int i = 0;i < 1000;i++)
      {
                if(i%3==0 || i%5==0)
{
这样就行
页: [1]
查看完整版本: 计算出 1000 以下的自然数中,属于 3 或 5 的倍数的数字之和