| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 861 人关注过本帖
标题:前天下载的100题C经典,有些不懂...大家讨论下...
取消只看楼主 加入收藏
旭日潜龙
Rank: 1
等 级:新手上路
帖 子:798
专家分:0
注 册:2007-3-29
收藏
 问题点数:0 回复次数:1 
前天下载的100题C经典,有些不懂...大家讨论下...

#include <stdio.h>
#include <stdlib.h>

#define MAXSIZE 20
#define LOOP 1

void main(void)
{
char digit[MAXSIZE];
int i, j;
int n;
char line[100];

printf("\nDirect Generation of All Subsets of a Set");
printf("\n=========================================");
printf("\n\nNumber of Elements in the Given Set --> ");
gets(line);
n = atoi(line); //将字符串转换成一个整数值

/* ---You'd better check to see if n is too large--- */

for (i = 0; i < n; i++) /* clear all digits to 0 */
digit[i] = '0';

printf("\n{}"); /* outpout empty set {} */
while (LOOP) {
for (i = 0; i < n && digit[i] == '1'; digit[i] = '0', i++)//红色的有甚么用啊??为什么要这样哦??
; /* find first 0 position */
if (i == n) /* if none, all pos. are 1 */
break; /* thus all elem. are in set*/
else
digit[i] = '1';/* now add one to this pos */

for (i = 0; i < n && digit[i] == '0'; i++)
; /* find first 1 position */
printf("\n{%d", i+1); /* show its numner and */
for (j = i + 1; j < n; j++) /* others */
if (digit[j] == '1')
printf(",%d", j + 1);
printf("}");
getch();
}
}

谁能说说上面的思想啊????
附上结果:

图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: 经典 Set printf void 
2007-04-07 19:32
旭日潜龙
Rank: 1
等 级:新手上路
帖 子:798
专家分:0
注 册:2007-3-29
收藏
得分:0 
有点不同吧............

灌水只发表情!
2007-04-07 20:34
快速回复:前天下载的100题C经典,有些不懂...大家讨论下...
数据加载中...
 
   



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

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