shenaoge 发表于 2021-8-11 20:28:53

这段小程序有什么错误吗?求大佬告知。

#include <stdio.h>

int main()
{        int a=0,i=0;
        while(i<=1000)
        {
                if(i%3)
                {
                        a+=i%3
                }
                if(i%5)
                {
                        a+=i%5
                }
                if(i%15)
                {
                        a-=i%15
                }
                i++
        }       
        printf("%d\n",a);
        return 0;
}

不能懒 发表于 2021-8-11 20:32:49

你这个不是同级关系吗?

shenaoge 发表于 2021-8-11 20:37:53

不能懒 发表于 2021-8-11 20:32
你这个不是同级关系吗?

您能说详细一点吗

不能懒 发表于 2021-8-11 20:50:47

打个比方,15的倍数也是3和5的倍数,那你这个if要去选择哪个呢?

大马强 发表于 2021-8-11 20:55:48

shenaoge 发表于 2021-8-11 20:37
您能说详细一点吗

用if else 好像也不行

shenaoge 发表于 2021-8-11 20:57:48

不能懒 发表于 2021-8-11 20:50
打个比方,15的倍数也是3和5的倍数,那你这个if要去选择哪个呢?

谢谢!我有了想法

shenaoge 发表于 2021-8-11 20:59:56

大马强 发表于 2021-8-11 20:55
用if else 好像也不行

是的,我刚刚试过了,不行

大马强 发表于 2021-8-11 21:21:21

shenaoge 发表于 2021-8-11 20:59
是的,我刚刚试过了,不行

你这代码是实现什么功能的

大马强 发表于 2021-8-11 21:21:52

你这 3 5 15 都是3的倍数,很难分的

shenaoge 发表于 2021-8-11 21:36:11

大马强 发表于 2021-8-11 21:21
你这代码是实现什么功能的

计算1000以内3,5的倍数之和

shenaoge 发表于 2021-8-11 21:40:18

现在只有int count()有问题,哪位大佬能看出问题在哪???
#include <stdio.h>

int main
int count()
{
        int a=0,b=0,c=0,d=a+b-c;
        for(i=0;i<=1000;i++)
        {
                if(i%3)
                {
                        a+=i
                }
        }
        for(i=0;i<=1000;i++)
        {
                if(i%5)
                {
                        b+=i
                }
        }
        for(i=0;i<=1000;i++)
        {
                if(i%15)
                {
                        c+=i
                }
        }       
        printf("%d\n",d);
        return 0;
}

大马强 发表于 2021-8-11 22:02:56

shenaoge 发表于 2021-8-11 21:40
现在只有int count()有问题,哪位大佬能看出问题在哪???
#include



你只是判断3,5的倍数之和
if(i%15)没必要

大马强 发表于 2021-8-11 22:03:26

shenaoge 发表于 2021-8-11 21:40
现在只有int count()有问题,哪位大佬能看出问题在哪???
#include



d放到最后
d=a+b

shenaoge 发表于 2021-8-12 20:26:17

{:10_256:}{:10_256:}{:10_256:}我自己搞着搞着就搞出来了......
#include <stdio.h>
#include <math.h>

int main(void)
{
        int i,o=0,a=0;
        printf("请输入一个数: ");
        scanf("%d",&i);
        while(o<i)
        {
                if(o%3==0)
                {
                        a=a+o;       
                }
                if(o%5==0)
                {
                        a=a+o;
                }
                if(o%15==0)
                {
                        a=a-o;
                }
                o=o+1;
        }
        printf("%d\n",a);
        return 0;
}
页: [1]
查看完整版本: 这段小程序有什么错误吗?求大佬告知。