题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include<stdio.h>
int main(){
int num,i,j;
int arr[100][100]={0};
int k=1; //用于每行数字叠加
int m=0; //用于第一列数字叠加
scanf("%d",&num);
for(i=0;i<num;i++)
{
for(j=0;j<num-i;j++)
{
if(j==0) //第一列
{
if(i==0) //第一行,只有第一行才会执行 m+1
{
arr[i][j]=1;
m++;
}
else //其他行
{
arr[i][j]=arr[i-1][j]+m;
m++;
}
}
else //其他列
{
arr[i][j]=arr[i][j-1]+i+k;
}
k++;
}
k=1;
}
for(i=0;i<num;i++)
{
for(j=0;j<num-i;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}