标题:前天下载的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



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




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

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