编辑代码

#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;
}