这个题用到的是一个不断调用的函数。本来我打算自己定义一个数组,因为题目中的要求范围不是特别大,就到10。但是后来发现实现的时候特别困难。后来发现这个模版。呃·····不知道是不是自己知道的东西太少了,所以看到这个模版的时候特别震惊············好了不废话了,大家看看这个模版,或许很有收获。
原文地址:点击打开链接。
代码如下
#include <stdio.h>
#define MAXN 100
int a[MAXN];
int f(int m, int k)
{
int i,j;
for(i = m; i >= k; i--)
{
a[k] = i;
if(k > 1)
f(i-1, k-1);
else {
for(j = a[0]; j > 0; j--)
printf("%d", a[j]);
printf("\n");
}
}
return 0;
}
int main()
{
int n,r;
scanf("%d%d",&n,&r);
a[0] = r;
f(n,r);
}
这个题其实需要自己去记忆。这个模版很好·······