C语言 蛇形矩阵问题蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.Input 本题有多组数据,每组数据由一个正整数N组成.(N不大于100)Output 对于每一组数据,输出一个N行的蛇形矩
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/11 21:33:54
C语言 蛇形矩阵问题蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.Input 本题有多组数据,每组数据由一个正整数N组成.(N不大于100)Output 对于每一组数据,输出一个N行的蛇形矩
C语言 蛇形矩阵问题
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.
Input
本题有多组数据,每组数据由一个正整数N组成.(N不大于100)
Output
对于每一组数据,输出一个N行的蛇形矩阵.两组输出之间不要额外的空行.
矩阵三角中同一行的数字用一个空格分开.行尾不要多余的空格.
如:输入n=3
显示:1 3 6
2 5
4
C语言 蛇形矩阵问题蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.Input 本题有多组数据,每组数据由一个正整数N组成.(N不大于100)Output 对于每一组数据,输出一个N行的蛇形矩
代码如下:
#include<stdio.h>
int main()
{
int n;
static int a[100][100];
int i=0,j=0;
int k,x,y;
//printf("请输入整数N,N<=100\n");
scanf("%d",&n);
for(k=1;k<=n*n;k++)
{
a[i][j]=k;
if((i+j)%2==0)
{
if(i!=n-1&&j!=0)
{
i=i+1;
j=j-1;
}
else if(i==n-1)
{
// j=j+1;
break;
}
else
{
i=i+1;
}
}
else
{
if(i!=0&&j!=n-1)
{
i=i-1;
j=j+1;
}
else if(j==n-1)
{
break;
//i=i+1;
}
else
{
j=j+1;
}
}
}
for(x=0;x<n;x++)
{
for(y=0;y<n-x;y++)
{
if(y==(n-x-1))
printf("%d",a[x][y]);
else
printf("%d ",a[x][y]);
}
printf("\n");
}
return 0;
}
你测试下,看对不对?