坦然自若 发表于 2019-7-22 12:40:51

第一阶段考核第0题

本帖最后由 坦然自若 于 2019-7-22 12:49 编辑

#include <stdio.h>

int main()
{
      int i, j, sum = 0;

      for (i = 1; i < 1000 / 3; i++)
      {
                sum += 3 * i;
      }
      for (j = 1; j < 1000 / 5; j++)
      {
                sum += 5 * j;
      }
      printf("%d\n", sum);

      return 0;
}
哪位大神帮忙看看哪里错了{:5_92:} ,计算出 1000 以下的自然数中,属于 3 或 5 的倍数的数字之和。

一木之禾 发表于 2019-7-22 12:49:29

如果是我的话,我会这样写,我写这个没考虑区分i同时是3和5倍数的情况。供参考。
#include<stdio.h>
int main(void)
{
        int sum=0;
        for(int i=1;i<1000;i++){
                if((i%3==0)||(i%5==0)){
                        sum+=i;
                }
        }
        printf("%d",sum);
       
        return 0;
}

坦然自若 发表于 2019-7-22 12:51:33

一木之禾 发表于 2019-7-22 12:49
如果是我的话,我会这样写,我写这个没考虑区分i同时是3和5倍数的情况。供参考。

大神,那我写的有哪里不对吗{:10_256:}

坦然自若 发表于 2019-7-22 12:52:17

坦然自若 发表于 2019-7-22 12:51
大神,那我写的有哪里不对吗

运行结果咋都不对,但我代码没检查出错误

坦然自若 发表于 2019-7-22 12:56:12

我好像懂了,谢谢大神

fengshan5577 发表于 2020-3-13 15:04:39

为什么不是sum++
页: [1]
查看完整版本: 第一阶段考核第0题