输入任意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;
}
#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;
}