作业帮 > 综合 > 作业

C语言 蛇形矩阵问题蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.Input 本题有多组数据,每组数据由一个正

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 17:12:49
C语言 蛇形矩阵问题
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.
Input
本题有多组数据,每组数据由一个正整数N组成.(N不大于100)
Output
对于每一组数据,输出一个N行的蛇形矩阵.两组输出之间不要额外的空行.
矩阵三角中同一行的数字用一个空格分开.行尾不要多余的空格.
如:输入n=3
显示:1 3 6
2 5
4
C语言 蛇形矩阵问题蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形.Input 本题有多组数据,每组数据由一个正
代码如下:

#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;
}你测试下,看对不对?