蛇形矩阵
题目描述:蛇形矩阵是从1开始的自然数依次排列成的一个矩阵上三角形
输入描述:
矩阵的大小N(N<20)
输出描述:
输出一个蛇形矩阵,注意:每行行末没有空格,最后一行没有换行。
样式输入:
5
样式输出:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
如果 n的大小不限定。。。。。。用是指针还是别的。。。。可以么。。。。。。

程序代码:#include<stdio.h>
void main()
{
int i,j=1,k,b,n=10;
int m[10][10];
for(i=2;i<n;i++)
{
k=0;
b=i;
while(b>=0){
m[b--][k++]=j++;
}
}
for(int h=0;h<10;h++){
for(int g=0;g<10;g++){
printf("%d",m[h][g]);
}
printf("\n");
}
}
//编译没有 通过。。。不知道什么原因 。。。。你的要求我只符和了一个 那就是输出的顺序

程序代码:#include<stdio.h>
#define M 20
void main()
{
int a[M][M];
int count=1;
int i,j,n;
int k=0;
printf("Please input n(n<=M):");
scanf("%d",&n);
while(count<=n*(n+1)/2)
{
for(i=k,j=0;i>=0,j<=k;i--,j++)
{
a[i][j]=count++;
}
k++;
}
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
}
程序代码:#include <stdio.h>
int main()
{
int a[20] = {1};
int n;
int i, j;
scanf("%d", &n);
for (i = 0;i < n;++i)
if (!i) printf("%-3d", a[i]);
else printf("%-3d", a[i] = a[i-1]+i+1);
printf("\n");
for (i = 1;i < n;++i)
{
for (j = 0;j < n-i;++j)
printf("%-3d", a[j] = a[j+1]-1);
printf("\n");
}
return 0;
}
