| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 800 人关注过本帖
标题:求大神指导。。。。c语言相加
只看楼主 加入收藏
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
求大神指导。。。。c语言相加
632000,491111,331511,210684,190193,188100,156397,120000,91829,59718,31311,30000,28302,20700,19179,12816,10485,4596,4199,12368,4469,733,7868,4222
在这些数据中,写一个函数。要求相加等于721091   
两两相加我会写。。。多项相加怎么写。。还不能漏数据。

大神们。。。两两相加我会。。。用两个for循环就行。 关键是两两相加要是没结果 可能会需要三个相加   或者更多一起相加得到结果,。。。谢谢大神们。!!

恩恩 就是可能需要多项相加等于721091  所以才有点难度。。。。数据有一个写错了  现在已经修改了



谢谢各位大神。。。用本方法试出来了!!

[ 本帖最后由 so_love 于 2013-11-28 14:45 编辑 ]
搜索更多相关主题的帖子: c语言 
2013-11-28 11:20
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:4 
循环两两相加
循环中用一条 if 语句做判断 是否等于721091

三十年河东,三十年河西,莫欺少年穷!
2013-11-28 11:38
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:4 
放一个数组里,两个for循环,判断数组里任意两项相加是否等于721091

埋头做牛,抬头做人,低头做狗
2013-11-28 11:38
xixiqiqi
Rank: 2
等 级:论坛游民
帖 子:22
专家分:71
注 册:2013-10-10
收藏
得分:4 
涉及简单的算法,楼主可以先想想自己的思路。
程序代码:
#include <stdio.h>

int main()
{ 
    const int result=721091;
    int element[]={63200,491111,331511,210684,190193,188100,156397,120000,91829,59718,31311,30000,28302,20700,19179,12816,10485,4596,4199,12368,4469,733,7868,4222};
    int len=sizeof(element)/4;
    int count=0;

    for(int i=0;i<len;i++)
    {
        for(int j=i;j<len;j++)
        {   
                // printf("*%d+%d=%d\n",element[i],element[j],element[i]+element[j]); 可输出查看过程
            if(element[i]+element[j]==result)
            {
                printf("%d+%d=%d\n",element[i],element[j],element[i]+element[j]);
                count++;
            }
        }
    }
    if(0==count)
    {
        printf("没有两个数相加等于%d.\n",result);
    }
    
    return 0;
}
2013-11-28 11:51
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:4 
楼主问的好像不是其中的两个数相加等于721091.(楼主说了他会)
而是不管多少个数相加, 只要等于721091. (这个才有点难度)
对否?
2013-11-28 12:02
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
那就循环多项相加呗

三十年河东,三十年河西,莫欺少年穷!
2013-11-28 12:05
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:4 
我习惯用递归处理

把它分成一个子问题 f(n) = a[i] + f(n-a[i]),我说不清楚,写个例子你看看吧

程序代码:
//把 5拆分成多个数的和
#include <stdio.h>

#define    N    5
int result[N] = {};

void fun(int ip, int sum)
{
    int i;
    if (0 > sum)    return;
    if (0 == sum)
    {
        for (i = 0; i < ip; i++)
        {
            printf("%d ", result[i]);
        }
        printf("\n");

        return;
    }

    for (i = 1; i <= sum; i++)
    {
        result[ip] = i;
        fun(ip+1, sum - result[ip]);
    }
}

int main()
{
    fun(0, N);
    return 0;
}


[fly]存在即是合理[/fly]
2013-11-28 12:55
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:4 
63200+331511+190193+59718+31311+20700+12368+7868+4222
63200+188100+156397+120000+91829+59718+12816+4596+4199+12368+7868
210684+156397+120000+91829+59718+28302+19179+12816+4596+12368+4469+733
63200+210684+190193+188100+28302+20700+19179+733
63200+210684+190193+188100+28302+19179+4596+12368+4469
63200+491111+120000+20700+12816+4596+4199+4469
63200+331511+120000+91829+59718+20700+19179+10485+4469
63200+331511+188100+59718+30000+19179+12816+4199+12368
210684+190193+120000+91829+30000+28302+20700+12816+4199+12368
2013-11-28 13:14
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:0 
目测楼主的给分不合理. 像我这种打酱油的也有,
这是求解, 又不是散分.
应该给真正给你解答的人.
2013-11-28 16:36
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
别这么执着了 。。。。大神们抽出时间来看看 多不好意思,,,这么能白来呢  对不。。。
而且我是看大神们然后自己用笨方法一个个试出来的。。。纠结了。。。大神们的思路 我还得继续研究。。。

[ 本帖最后由 so_love 于 2013-11-28 16:39 编辑 ]

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-11-28 16:38
快速回复:求大神指导。。。。c语言相加
数据加载中...
 
   



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

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