| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 392 人关注过本帖
标题:一个集合问题的解
只看楼主 加入收藏
sccdyc
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-4-23
收藏
 问题点数:0 回复次数:1 
一个集合问题的解
我在这个C论坛上看见有人求助关于集合的问题.题目为:
给定一个集合,求它的子集,并输出,
例如当n=2;时,它的答案为:{1} {1 2} {2};
但如果n很大了,怎么输出呢?
现在给出我的原代码如下,共参考:


#include<stdio.h>
#include<stdlib.h>
int main(void)
{int i,j,k,m,n,total,*p;
total=0;
printf("input the size of n:");
scanf("%d",&n);
while(n<=0)
{printf("you inputed a wrong value:\n");
printf("input it again:");
scanf("%d",&n);
};
p=(int *)malloc(sizeof(int)*(n+1));
if(p==NULL)
{printf("memory allocation failure\n");
exit(0);
}
for(i=1;i<=n;i++)
*(p+i)=i;
for(i=1;i<=n;i++)
{m=1;
for(j=1;j<=n-i+1;j++)
{printf("{");
for(k=i;k<=m+i-1;k++)
printf("%d ",*(p+k));
printf("}");
printf("\n");
total++;
m++;
}
}
printf("total=%d\n",total);
free(p);
return 0;
}
2006-04-24 12:56
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
不错继续努力

我的原则很简单:不做不喜欢的事!
2006-04-24 17:47
快速回复:一个集合问题的解
数据加载中...
 
   



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

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