16.c

来自「给出从自然数1」· C语言 代码 · 共 41 行

C
41
字号
//给出从自然数1,2,3,....,n中任取k个数的所有组合
#include<stdio.h>
#define N 100
int a[N],nn;
void comb(int n,int k)
{  
	void output();
	if(n>k&&k>1)
	{
		comb(n-1,k);
			a[k]=n;
		comb(n-1,k-1);
	}
	else if(k==1)
	{
		for(;n>0;n--)
		{
			a[k]=n;
			output(a,nn);
		}
	}
	else if(n==k)
	{
		for(;n>0;n--)
			a[n]=n;
		output(a,nn);
	}
}
void output(int a[],int nn)
{   
	int i;
	static int count=1;
    printf("%3d:",count++);
	for(i=1;i<=3;i++)
		printf("%d",a[i]);	
	printf("\n");
}
void main()
{
	comb(5,3);  
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?