| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 547 人关注过本帖
标题:为什么程序的结果错误
只看楼主 加入收藏
驱动器
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:15
专家分:19
注 册:2013-8-20
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:8 
为什么程序的结果错误
求1~123456之间所有7的倍数和末尾含7的数的和
下面是我编写的代码,但是结果却不正确,我已经检查了很久了,没发现错在哪里,请大家帮忙看看。
注: int 类型在我的编译器没有越界!
程序代码:
#include<stdio.h>
int main()
{
    int i=1,j=1,sum1 = 0,sum2 = 0,sum3 = 0;
    for(i = 1;i <= 123456;i++)
        if(i%7 ==0||(i-7) %10 == 0)
            sum1+= i;
    for(j=1;j<= 123456;j++)
        if(j%7==0 && (j-7)%10==0)
            sum2+= j;

    sum3 = sum1-sum2;
    printf("%d",sum3);
    return 0;
}
搜索更多相关主题的帖子: 编译器 
2013-09-01 14:16
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
第一个for和第二个for都是想干嘛?
sum2是0吧?

你写的代码跟你写的描述完全文不对题呀...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-09-01 15:18
dtxwz
Rank: 2
等 级:论坛游民
帖 子:79
专家分:45
注 册:2011-9-18
收藏
得分:0 
正确结果是啥?
#include<stdio.h>
int main()
{
    int i=1,j=1,sum1 = 0,sum2 = 0,sum3 = 0;
    for(i = 1;i <= 123456;i++)
        if(i%7 ==0||(i-7) %10 == 0)
            sum1+= i;


  
    printf("%d",sum1);
    return 0;
}

是不是把后面去掉就可以了     ||就是两者只要有一个成立就是真  不用再用减去重合部分了
2013-09-01 15:23
dtxwz
Rank: 2
等 级:论坛游民
帖 子:79
专家分:45
注 册:2011-9-18
收藏
得分:0 
我上面的错了,应该是这样吧。
#include<stdio.h>
int main()
{
    int i=1,j=1,sum1 = 0,sum2 = 0,sum3 = 0;
    for(i = 1;i <= 123456;i++)
        if(i%7 ==0)
            sum1+= i;
    for(j = 1;j <= 123456;j++)
        if((i-7) %10 == 0)
            sum2+= j;
       sum3 = sum1 + sum2;
    printf("%d",sum3);
    return 0;
}
按着你的描述
求1~123456之间所有7的倍数和末尾含7的数的和

2013-09-01 15:29
驱动器
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:15
专家分:19
注 册:2013-8-20
收藏
得分:0 
回复 2楼 peach5460
第一个for求的是求出7的倍数和末尾含7的数的和,将其相加;第二个for是求同时被7整除尾数又是7的数数(前一个for重复相加的)。

总要流够多的泪水才懂得时间的可贵,却又总在泪水干后让时间肆虐地流淌。
2013-09-01 16:06
驱动器
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:15
专家分:19
注 册:2013-8-20
收藏
得分:0 
回复 3楼 dtxwz
这个必须去掉同时是7的倍数,而且尾数又是7 的数。

总要流够多的泪水才懂得时间的可贵,却又总在泪水干后让时间肆虐地流淌。
2013-09-01 16:10
大树吹风
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2013-9-1
收藏
得分:5 
回复 楼主 驱动器
第一个for循环已经完全表达了你的意思,并不存在重复累加的问题!
2013-09-01 16:27
驱动器
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:15
专家分:19
注 册:2013-8-20
收藏
得分:0 
回复 7楼 大树吹风
确实如此,是我想多了。谢谢!

总要流够多的泪水才懂得时间的可贵,却又总在泪水干后让时间肆虐地流淌。
2013-09-01 16:45
驱动器
Rank: 2
来 自:广西
等 级:论坛游民
帖 子:15
专家分:19
注 册:2013-8-20
收藏
得分:0 
回复 3楼 dtxwz
正确,不过不好意思,忘了给分了哈。

总要流够多的泪水才懂得时间的可贵,却又总在泪水干后让时间肆虐地流淌。
2013-09-01 16:47
快速回复:为什么程序的结果错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018032 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved