| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 409 人关注过本帖
标题:求助,这个简单的循环到底出了什么问题
只看楼主 加入收藏
chaojishumiq
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2012-4-14
结帖率:60%
收藏
已结贴  问题点数:30 回复次数:3 
求助,这个简单的循环到底出了什么问题
昨天温习一下C语言,做了一个简单循环,但是答案一直不对,原本是要做排列组合的,算出来的答案应该是六的五次方啊
怎么算出来的数是一百多万,怎么也不可能啊,到底哪里出了问题,原本是要用这样来表示排列组合上相临位置之间的关系,这里没有写,因为在数值上首先就不对,每个位置都是取值1~6,全部增加起来也不过是六的五次方,可是这里为什么得不出答案


#include<stdio.h>
#include<math.h>
int main(void)
{int a=1,b=1,c=1,d=1,e=1;
long int n=0;
for(e=1;e<6;e++)
    for(d=1;d<=6;d++)
   
        for(c=1;c<=6;c++)
        
            for(b=1;b<=6;b++)

                for(a=1;a<=6;a++)

                    n=n+1;
printf("n=%ld\n",&n);
return(0);
}


[ 本帖最后由 chaojishumiq 于 2012-7-31 08:22 编辑 ]
搜索更多相关主题的帖子: include C语言 
2012-07-31 08:13
小糊涂神c30
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:198
专家分:809
注 册:2012-4-25
收藏
得分:15 
思想错了,这就不是六的五次方吧 这是把n=n+1执行6*6*6*6*5遍,这句for(e=1;e<6;e++)不知是疏忽还是有意的,为什么不是e<=6;
结果应该是1+2+3+4+5+6+......+6480!还不单单是这错了,你的输出语句printf("n=%ld\n",&n);n怎么还会带&这个符号呢?看书不仔细呀。。下面是我写的六的五次方,你可以参考一下!
#include<stdio.h>
int main(void)
{
    int a=1,b=1;
    long int n=6;
    for(b=1;b<6;b++)
       a*=n;
    printf("a=%ld\n",a);
    return(0);
}
2012-07-31 08:43
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:15 
回复 楼主 chaojishumiq
两个问题:
1、for(e=1;e<6;e++) 这句应该是e<=6
2、printf("n=%ld\n",&n);  这句不是用用&n,直接用n就行了

总有那身价贱的人给作业贴回复完整的代码
2012-07-31 08:48
chaojishumiq
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2012-4-14
收藏
得分:0 
回复 2楼 小糊涂神c30
非常感谢,不过我的目的不是六的五次方,而是在这个过程中对这五个位置进行相关联,谢谢
2012-07-31 08:51
快速回复:求助,这个简单的循环到底出了什么问题
数据加载中...
 
   



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

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