输入任意n值,生成如下序列的前n项输入任意n值,1,2,1,2,3,2,1,2,3,4,3,2,1

输入任意n值,生成如下序列的前n项输入任意n值,1,2,1,2,3,2,1,2,3,4,3,2,1

我理解的是输入n=4,然后1,2,1,2,3,2,1,2,3,4,3,2,1是这些
不知道题目的意思是不是我理解的这样
或许是n=13,才有1,2,1,2,3,2,1,2,3,4,3,2,1
当n=4时
1,2,
1,2,3,2,
1,2,3,4,3,2,
1,
2,3,4,5,4,3,2(猜测后面的数据)
这样来看,有 i 行,每开始一行都从1开始,每行自增到 i+1 就开始减到 2
可以使用二维数组来存放,也可以用一个变量,我的方法是用变量
参考~~

#include<stdio.h>
#include<string.h>
int main()
{
        int i,j,n,k=2;
        scanf("%d",&n);
        for(i=1;i<n;i++)
        {
                for(j=1;j<=k;j++)
                {
                        printf("%d ",j);
                }
                for(j=k-1;j>1;j--)
                        printf("%d ",j);
                k++;
        }
        printf("1\n");
        return 0;
}

img


#include<stdio.h>
#include<string.h>
int main()
{    
    int n0=0;
    int c=2,n;
    scanf("%d",&n);
    while(n0 < n)
    {
        for(int i=1;i<=c;i++)
        {
            printf("%d ",i);
            n0++;
            if(n0==n)
                goto flag;
        }
        for(int i=c-1;i>1;i--)
        {
            printf("%d ",i);
            n0++;
            if(n0==n)
                goto flag;
        }
        c++;
    }
flag:   return 0;
}

img