如何在n未知(自由输入大小)的情况下实现n层循环

啊啦啦啦啦啦啦啦,字数限制至少30个字也是挺无奈的,各位大神求帮帮忙了

动态创建数组:

#include <stdio.h>
#include <stdlib.h>
void main()
{
    int n, *a;
    scanf("%d",&n);
    a=(int*)malloc(n*sizeof(int));
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }

    free(a);
}

应用函数嵌套

 #include "stdafx.h"
#include <iostream>
int loop_cnt = 0;
int loop_cnt_set = 1;

void loop_show(void)
{
    int i = 0;
    for (i = 1; i < loop_cnt; i++)
    {
        putchar('\t');
    }
    printf("layer%d\n", loop_cnt);
}

void loop(int n)
{
    int i = 0;
    loop_cnt++;
    loop_show();
    for (i = 0; i < n; i++)
    {
        if (loop_cnt == loop_cnt_set)
        {
            printf("end\n");
        }
        else
        {
            loop(n);

        }

    }
    loop_cnt--;
}

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Input layer n:";
    cin >> loop_cnt_set;
    loop(3);
    while (1);
    return 0;
}

scanf("%d",&n);
for (int i=1;i<=n;++i){
}

递归可不可以 咩咩咩咩咩

用递归可以做到,比如:
void loop(int k) {
if (k == 0) return;
for (;;) {
...;//other code
loop(k - 1);
}
}
int main() {
loop(5);//会执行5次循环
return 0;
}
递归部分也可以改成手写栈的形式的递归