该文针对C++数组初学者,本篇主要运用二维数组以及循环,条件语句的知识来解决问题。

目录


1、题目

2、思路

3、完整代码

题目:

编程,打印n*n(n<10)的螺旋方阵。

思路:

首先对螺旋方阵进行观察。

我们可以发现:

打印方阵要使用二维数组;

打印轮旋方阵可以通过循环来实现;

每个循环都由“最左列——>最下列——>最右列——>最上列”对数组进行内容的填充。

同时,要注意当n为奇数时与n为偶数时,为两种情况。

偶数:若n=6,我们可以观察发现需要执行三次循环。

奇数:若n=5,我们可以发现执行三次循环会发生旧数值被新数值覆盖的现象,执行两次循环最中间的数就需要另外赋值。

完整代码:

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{int n;cin>>n;int q;q=n;int a[10][10];int m=1;int t=0;if(n%2==0){while(n!=t){for(int i=t;i<n;i++){int j=t;a[i][j]=m;m++;}for(int j=t+1;j<n;j++){int i=n-1;a[i][j]=m;m++;}for(int i=n-2;i>=t;i--){int j=n-1;a[i][j]=m;m++;}for(int j=n-2;j>t;j--){int i=t;a[i][j]=m;m++;}n--;t++;}}else{while(n!=t+1){for(int i=t;i<n;i++){int j=t;a[i][j]=m;m++;}for(int j=t+1;j<n;j++){int i=n-1;a[i][j]=m;m++;}for(int i=n-2;i>=t;i--){int j=n-1;a[i][j]=m;m++;}for(int j=n-2;j>t;j--){int i=t;a[i][j]=m;m++;}n--;t++;}a[n-1][n-1]=m;}for(int i=0;i<q;i++){for(int j=0;j<q;j++){cout<<setiosflags(ios::left)<<setw(10)<<a[i][j];}cout<<endl;}return 0;} 

运行结果:

注:该文章若存在问题欢迎指正,感谢观看。

编程,打印n*n(n<10)的螺旋方阵。相关推荐

  1. 编程打印如下形式的杨辉三角形,打印的杨辉三角形的行数n(不超过10行)要求由用户从键盘输入。要求按照如下函数原型进行编程,不能使用全局变量

    /* 6.3 编程打印如下形式的杨辉三角形,打印的杨辉三角形的行数n(不超过10行)要求由用户从键盘输入.要求按照如下函数原型进行编程,不能使用全局变量 1 1 1 1 2 1 1 3 3 1 1 4 ...

  2. java报告(一)编程打印一个三角形的乘法口诀表

    编程打印一个三角形的乘法口诀表(注意对齐),并练习对程序进行单步运行.断点调试等. 实验要求: 1. 在实验报告中给出程序运行结果截图. 2. 源程序代码附到实验报告的最后. 3. 认真填写实验报告并 ...

  3. 4.编程打印一个二维数组中所有元素的和,并打印最大值,最小值(以及它们所在的行号和列号)

    /*晕呀,竟然做了一天,还不知道怎样做出来的.....*/ package HomeWork; import java.util.Arrays; /*4.编程打印一个二维数组中所有元素的和,并打印最大 ...

  4. java打印小票的时间_Java编程打印购物小票实现代码

    这篇文章主要介绍了Java编程打印购物小票实现代码,具有一定参考价值,需要的朋友可以了解下. 简单介绍运行环境: 语言:Java 工具:eclipse 系统:Windows7 (打印设备暂时没有,所以 ...

  5. python使用循环结构编程打印出如下图案_使用双层for循环编写程序,在屏幕上打印输出如下图案...

    展开全部 回答即可62616964757a686964616fe59b9ee7ad9431333361303561得2分经验值第三章 循环程序在编程中经常遇到需要多次规律相同的重复处理,这就是循环问题 ...

  6. 编程打印空心字符菱形

    编程打印空心字符菱形 (10 分) 本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形.所谓"空心菱形"是指:每行由两端为字母.中间为空格的字符串构成,每行的字符串中心对 ...

  7. C#编程中最常见的10个错误

    C#编程中最常见的10个错误 英文原文链接:https://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make 原 ...

  8. Python3算法基础练习:编程100例(6 ~ 10)

    往期练习: Python3算法基础练习:编程100例(1~5) Python3算法基础练习:编程100例(6 ~ 10) 6.斐波那契数列 7.列表复制 8.乘法口诀表 9.暂停输出 10.格式化时间 ...

  9. C++编程人员容易犯的10个C#错误

    C++编程人员容易犯的10个C#错误 C#的语法与C++非常相似,有些变化引起的错误却很严重,本讨论C++编程人员最容易犯的十个错误. 我们知道,C#的语法与C++非常相似,实现从C++向C#的转变, ...

最新文章

  1. Mysql索引底层实现
  2. 【采用】互联网金融风控模型的设计
  3. shell脚本中的坑
  4. java耗时操作阻塞_springboot~高并发下耗时操作的实现
  5. hdu 4717 The Moving Points(三分+计算几何)
  6. 入门机器学习(二)--多变量线性回归
  7. datax 定时执行多个job_数据同步神器Datax源码重构
  8. Python入门--字典的创建
  9. windows 搭建和配置 hadoop + 踩过的坑
  10. xshell官方个人免费版申请下载使用
  11. Linux安装WIFI无线网卡驱动
  12. 从 0 搭建 Vite 3 + Vue 3 前端工程化项目
  13. SQL练习题附重点函数说明--更新至21题
  14. Linux服务器之间使用scp免密传输文件
  15. latex 大于小于大于等于小于等于
  16. 《电商后台系统产品逻辑解析》学习笔记
  17. python生成图片
  18. 内部寄存器:通用寄存器、控制寄存器、段寄存器
  19. 使用APM破解Imminent rat病毒后我们学到的东西
  20. 美团专家:35岁是程序员的终点?

热门文章

  1. Excel数据分析案例四——留存预测
  2. 告别内卷,Java面试指南霸榜Github Trending,刷完进大厂
  3. touchmove事件里对线条stroke执行clearRect失效
  4. 协方差分析 | ANCOVA (Analysis of Covariance) | R代码
  5. cmd命令删除计算机密码,win7系统下如何利用DOS清除CMOS密码的方法
  6. 3CX Desktop App 遭受软件供应链攻击(CVE-2023-29059)
  7. spring quarts 任务调度
  8. 连续型字段,离散型字段
  9. python3.4判断闰年,Python 判断闰年
  10. 引擎开发四: SFML库及使用