int main()
{
int i,j,a[100][100],n,k;
printf("请输入列数n= ");
scanf("%d",&n);
k=1;
//输出上三角
for(i=0; i<n;i++)
{
for(j=0; j<=i; j++)
{
if(i%2==0) a[i-j][j]=k;
else a[j][i-j]=k;
k++;
}
}
for(i=n; i<2*n-1; i++) //输出下三角
{
for(j=1; j<2*n-i; j++)
{
if(i%2==0) a[n-j][j+i-n]=k; //i-n在j循环里是定值了
else a[j+i-n][n-j]=k; //j+i-n的作用是实现行变化 n-j实现列数变化
k++;
} //两次循环可以视为矩阵的转置,所以只需将坐标交换即可
}
for(i=0; i<n;i++)
{
printf("\n");
for(j=0; j<n;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}
C语言-蛇形矩阵
猜你喜欢
转载自blog.csdn.net/weixin_37551036/article/details/94386332
今日推荐
周排行