吉林大学超星MOOC高级语言程序设计 实验04 数组及其在程序设计中的应用(2021级)螺旋矩阵
题目编号:Exp04-Enhance05,freshman-1050,GJBook3-0622
题目名称:螺旋矩阵
题目描述:
螺旋矩阵指一个呈螺旋状的数字矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环。如下所示为3阶螺旋矩阵。
输入:输入一个正整数 N (N<=30),标明矩阵阶数。
输出:按螺旋矩阵形式输出整数 1~N^2, 共 N 行N 列,每个数字输出占4个西文字符宽度,右对齐,最后一个数字后无多余字符。
样例:
输入: 15
输出:
//螺旋矩阵 i为圈数
#include<stdio.h>
int main(){
int a[31][31],n,i,cnt=1,j,ret=0;
scanf("%d",&n);
for(i=1;cnt<=n*n-ret;i++){//先生成矩阵
for(j=i;j<=n+1-i&&cnt<=n*n;j++){//将递增的cnt放入不同位置
a[i][j]=cnt++;
}
for(j=i+1;j<=n-i&&cnt<=n*n;j++){
a[j][n+1-i]=cnt++;
}
for(j=n+1-i;j>=i&&cnt<=n*n;j--){
a[n+1-i][j]=cnt++;
}
for(j=n-i;j>i&&cnt<=n*n;j--){
a[j][i]=cnt++;
}
}
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
printf("%4d",a[i][j]);
}
if(i!=n)printf("\n");
}
return 0;
}
标签:输出,cnt,螺旋,矩阵,MOOC,超星,程序设计 来源: https://blog.csdn.net/m0_62224918/article/details/121432579
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。