📄 2-2-2.c
字号:
/*中国系统分析员顾问团,http://www.csai.cn*/
/*程序员下午考试指南书籍源码*/
# include <stdio.h>
#define N 100
void enumall(int n,int r){
int i, j, c[N];
for(j = 0;j < r; j++ ) c[j] = j; /*形成初始组合*/
for(j = 0;j < r; j++ ) printf("\t%d",c[j]);
printf("\n");
i = r-1;
do{
if (c[i] < n-r+i) {/*如调整c[i]是可接受的*/
c[i]++; /*递增c[i]*/
for(j = i + 1;j < r; j++) /*完成一个组合*/
c[j] = c[j-1] + 1;
for(j = 0;j < r; j++) printf ("\t%d",c[j]);
printf("\n");
i = r-1;
}
else i--;/*回溯*/
}while (i >= 0 );
}
main(){
int n, r;
do{
printf("Enter n, r:\n");
scanf("%d %d",&n,&r);
} while ( n < r );
enumall(n,r);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -