所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。

输入格式:
输入在一行中给出一个正整数N(<10)。

输出格式:
输出N×N的螺旋方阵。每行N个数字,每个数字占3位。

输入样例:
5
输出样例:

/*1  2  3  4  516 17 18 19  615 24 25 20  714 23 22 21  813 12 11 10  9*/
#include<stdio.h>int main()
{int n;
int x=1;
scanf("%d",&n);
int a[n][n];
int i=0,j=0,c=0;for(int k=0;k<n+1/2;k++){//上层的循环 for(;j<(n-c);j++){a[i][j]=x;x++; }
//右侧的循环i++;j--;for(;i<n-c;i++){a[i][j]=x;x++;}
//底层循环i--;j--;for(;j>=c;j--){a[i][j]=x;x++;}
//左侧的循环;i--;j++;for(;i>c;i--){a[i][j]=x;x++;} c++;i++;j++;}for(int o=0;o<n;o++){for (int p=0;p<n;p++){printf("%3d",a[o][p]);}printf("\n");
}
}

网上的思路

#include<stdio.h>
int main(){int N,m=1;int i,j,k,z,c;int a[10][10]={0};scanf("%d",&N);for(c=0;c<=N/2+1;c++){for(i=c;i<N-c;i++){a[c][i]=m++;}for(j=c+1;j<N-c;j++){a[j][N-1-c]=m++;}for(k=N-2-c;k>=c;k--){a[N-1-c][k]=m++;}for(z=N-2-c;z>c;z--){a[z][c]=m++;}}for(i=0;i<N;i++){for(j=0;j<N;j++){printf("%3d",a[i][j]);}printf("\n");}
}

实验7.2 二维数组 7-8 螺旋方阵相关推荐

  1. 二维数组实现n阶方阵

    1.二维数组实现n阶方阵 #include<stdio.h> int main() {int n,x,i,j, a[6][6];printf("请输入一个整数n,其中1<= ...

  2. 【C语言】案例三十三 【二维数组】神奇魔方阵

    害,神奇魔方阵.让我想起了我做过的快乐暑假······ 案例描述 古代又称"纵横图",就是指由自然数组成的方阵.编程要求实现一个5行5列的魔方阵. 必备知识 二维数组的定义与初始化 ...

  3. 2022山东理工大学pta程序设计---实验六(二维数组)题解

    7-1 sdut-C语言实验-求一个3*3矩阵对角线元素之和 分数 12 作者 马新娟 单位 山东理工大学 给定一个33的矩阵,请你求出对角线元素之和. 输入格式: 按照行优先顺序输入一个33矩阵,每 ...

  4. java二维数组杨辉三角_实验----Java的二维数组的应用及杨辉三角的编写

    (1) 编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出. (2) 编程输出杨辉三角的前10行. 找出一个 ...

  5. 实验4.3 二维数组

    编写一个Java程序,定义一个2行3列的整型二维数组,对数组中的每个元素赋一个1~100的随机整数值,然后分别对第一行.第二行的元素进行排序,使程序运行结果如下. Math类的random()方法返回 ...

  6. 实验7.2 二维数组 7-6 方阵循环右移

    本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0.1.⋯.n−1列变换为第n−m.n−m+1.⋯.n−1.0.1.⋯.n−m−1列. 输入格式: 输入第一行给出两个正整数m和 ...

  7. 实验7.2 二维数组 7-5 打印杨辉三角

    本题要求按照规定格式打印前N行杨辉三角. 输入格式: 输入在一行中给出N(1≤N≤10). 输出格式: 以正三角形的格式输出前N行杨辉三角.每个数字占固定4位. 输入样例: 6 输出样例: /* 11 ...

  8. 实验7.2 二维数组 7-4 判断上三角矩阵

    上三角矩阵指主对角线以下的元素都为0的矩阵:主对角线为从矩阵的左上角至右下角的连线. 本题要求编写程序,判断一个给定的方阵是否上三角矩阵. 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数.接 ...

  9. 怎么输出一个二维数组_LeetCode54与59,一个口诀教会你旋转二维数组

    Halo, 好久不见各位小伙伴,这几天工作是在是太忙了,忙到都没有足够的时间去继续写算法题目,那么今天一次性带来两道比较类似的题目,在LeetCode中属于中等难度的题目.但其实只要你掌握其中的要点, ...

最新文章

  1. AI一分钟 | 程维成立滴滴股权投资公司;特斯拉董事会决定放弃私有化
  2. Kubernetes — 容器与镜像
  3. 【正一专栏】巴萨四大皆空怎么办
  4. java 构造方法和析构方法_PHP面向对象程序设计之构造方法和析构方法详解
  5. java runtime 返回值_Java Runtime.exec()注意事项 | 学步园
  6. 【响应式编程的思维艺术】 (2)响应式Vs面向对象
  7. 深度学习VS机器学习——到底什么区别
  8. 《IT老外在中国》第29期:这位美籍华裔兜兜转转又回到了心心念念的故乡
  9. 矩阵方程求解内置函数
  10. Java中private方法可以被重写吗?
  11. R语言aggregate函数
  12. Canvas 实现绘制图表
  13. [质数筛] 质数筛算法详解
  14. SSL证书过期(即将过期)处理
  15. 解决android4.4以下sslv3 alert handshake failure和protocol TLSv1.3 is not supported的问题
  16. 「固件下载」分享两个下载iOS固件包的网址
  17. TCP相关技术:重发机制
  18. 笔记本安装ubuntu关闭盖子不休眠设置
  19. [华为机试练习题]28.报数
  20. An ebook about Generics

热门文章

  1. html div百分比计算,css计算元素百分比大小
  2. 修改apk连接服务器地址,如何修改apk连接服务器地址
  3. 主键和索引哪个快_数据库两大神器【索引和锁】
  4. 【赛道解析】针对冷热读写场景的 RocketMQ 存储系统设计思路拆解
  5. 基于边缘云的机器流量管理技术实战
  6. 重磅 | 数据库自治服务DAS论文入选全球顶会SIGMOD
  7. 2020年8月编程语言排行榜新鲜出炉 - 编程语言世界的假期
  8. 图灵“亲自”给你讲人工智能
  9. 技术与商业到底啥关系?我们从业务角度聊一聊
  10. 萌新资源 | 3D基础——渲染基本原理介绍