#include <stdio.h>
// 非递归方式输出数值
void printPatternNonRecursive(int n) {
int i,j;
for (i = 1; i <= n; ++i) {
// 输出每一行的重复数字
for (j = 1; j <= i; ++j) {
printf("%d ", i);
}
printf("\n");
}
}
// 递归方式输出数值
void printPatternRecursive(int n, int current) {
int i;
if (current > n) {
return;
} else {
// 输出当前行的重复数字
for (i = 1; i <= current; ++i) {
printf("%d ", current);
}
printf("\n");
// 递归调用,处理下一行
printPatternRecursive(n, current + 1);
}
}
int main() {
// 非递归方式调用函数输出数值
printf("非递归实现\n");
printPatternNonRecursive(4);
// 递归方式调用函数输出数值
printf("\n递归实现\n");
printPatternRecursive(4, 1);
return 0;
}