参考代码:
#include<bits/stdc++.h>//c++万能头文件
using namespace std;//可以不写,不写的话在前面加上std::
int m, n;//定义两个变量用于承载m(能选的数)和n(个数)
int z[30];//定义一个数组用来承载数。
void c(int a, int b){//a是当前该输出的最小可能数用来控制循环,b是当前位数用来控制递归
if(b==n+1){//判断位数是到最后一位
for(int i=1;i<=n;i++){//到最后一位后开始输出数
printf("%3d",z[i]);//一个一个的输出数字。%3d是控制它的站位,比如%03d输出3会是003;%.3d输出3会是3.000
}//中括号
printf("\n");//输出结束后,再补上一个换行
} else {//判断位数不是到最后一位
for(int i=a;i<=m;i++){//控制递归让这个数比上一个数大,并且不会超过m(能选的数)
z[b]=i;//将z数组的b位置赋值成i
c(i+1,b+1);//递归他自己
}//中括号
}//中括号
}//中括号
int main(){//主函数
scanf("%d%d", &m, &n);//导入n(能选的数)和r(个数)
c(1, 1);//进入c函数
return 0;//程序结束返回0
}//中括号
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题9.8 (Java代码)浏览:1674 |
printf基础练习2 (有点不明白)浏览:887 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:1024 |
A+B for Input-Output Practice (V) (C语言代码)浏览:497 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:820 |
众数问题 (C语言代码)浏览:717 |
简单的a+b (C语言代码)浏览:497 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:505 |
马拦过河卒 (C语言代码)浏览:1213 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:405 |