首页 > 分享 > 19.数圈

19.数圈

最新推荐文章于 2023-04-15 15:02:59 发布

dragon_sxl 于 2021-07-13 21:59:38 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

【问题描述】

以1为中心,用2,3,4, ..., n, ..., n*n的数字围绕着中心输出数圈, 如若n=4,则

7 8 9 10

6 1 2 11

5 4 3 12

16 15 14 13


【输入形式】

一个整数n(1<=n<=10)

【输出形式】

数圈矩阵

【样例输入】

5

【样例输出】

21 22 23 24 25 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13

感悟:这题题目简单,但实现起来还是有点难的,最后借鉴了大佬的代码,实现了一遍最后才明白。感谢大佬。

#include<bits/stdc++.h>

using namespace std;

int main() {

int n;

cin>>n;

int arr[n][n];

int pos;

if(n%2==0) pos=n/2-1;

else pos=n/2;

int left,right;

left=right=pos;

arr[pos][pos]=1;

for(int i=2,temp=1; i<=n*n; temp++) {

if(temp%2==1) {

for(int k=0; k<temp&&i<=n*n; k++) arr[left][++right]=i++;

for(int k=0; k<temp&&i<=n*n; k++) arr[++left][right]=i++;

}

else {

for(int k=0; k<temp&&i<=n*n; k++) arr[left][--right]=i++;

for(int k=0; k<temp&&i<=n*n; k++) arr[--left][right]=i++;

}

}

for(int i=0; i<n; i++) {

for(int j=0; j<n; j++)

cout<<arr[i][j]<<' ';

cout<<endl;

}

return 0;

}

相关知识

19.花的世界
花卉圈鲜花批发
【手把手带你刷LeetCode】——19.水仙花数(作业)
棵数= 间隔数.ppt
《19. 花的世界》PPT课件(安徽省县级优课).ppt
《19. 花的世界》教学设计(河南省县级优课).doc
适合女生发圈关于玫瑰的浪漫文案
19.《生物的栖息地》课件科学五年级上册
将临圈
工业重载齿圈感应淬火工艺

网址: 19.数圈 https://m.huajiangbk.com/newsview898876.html

所属分类:花卉
上一篇: Python快速入门
下一篇: 399元=2大1小住英德「栖湖酒