标题:[求助]急!!!
只看楼主
620LCC
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2005-3-25
 问题点数:0 回复次数:3 
[求助]急!!!
int a,n,i=0,m,x=0,p[100],q=0;
main ()
{
void pt(int a, int n,int m, int x);
void turn(int a,int q);
printf("please input two munber");
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)p[i]=i;a=1;
pt(a,n,m,x);
}
void pt(a,n,m,x)
{int k;k=x;for(;k>0;k--)printf(" ");
for(k=1;k<=n-x;k++,a++)printf("%d",a);printf("\n");
if(a<=m){x=n-1;pt(a,n,m,x);}
else {i=n-1;a=p[i];q=1;turn(a,q);};
}
void turn(a,q)
{if(a<=m-q-1){a=p[i]+1;for(;i<=n;i++)p[i]=p[i]+1;x=n-q-1;pt(a,n,m,x);}
 else {--i;++q;a=p[i];if(q<n)turn(a,q);
}
搜索更多相关主题的帖子: please 
2005-04-18 13:43
620LCC
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2005-3-25
得分:0 
    用递归算法实现以下程序:从1到n(n<1000)个自然数中选出r个数进行组合,并按指定的格式输出组合的结果。例如:n=5,r=3时,共有10种组合,运行程序时按下面的格式输出:
123
    4
    5
  34
    5
  45
234
    5
  45
345
我想知道我的程序错在哪

2005-04-18 13:48
620LCC
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2005-3-25
得分:0 
格式应该是右对齐

2005-04-18 13:49
620LCC
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2005-3-25
得分:0 

int a,n,i=0,m,x=0,p[1000],q=0; main () { void pt(int a, int n,int m, int x); void turn(int a,int q); printf("please input two number A and B(A<B):"); scanf("%d%d",&n,&m); for(i=1;i<=n;i++)p[i]=i; a=1; pt(a,n,m,x); } void pt(a,n,m,x) { int k; k=x; for(;k>0;k--)printf(" "); for(k=1;k<=n-x;k++,a++)printf("%d",a); printf("\n"); if(a<=m) {x=n-1;pt(a,n,m,x);} else {i=n-1;a=p[i];q=1;turn(a,q);}; } void turn(a,q) {int k; if(a<=m-q-1) { a=p[i]+1; for(i=n-q,k=0;i<=n;i++,k++)p[i]=a+k; x=n-q-1; pt(a,n,m,x); } else { --i;++q;a=p[i]; if(q<n)turn(a,q); }

} 已经找到原因了 谢谢了


2005-04-18 14:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-15976-1-1.html




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

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