编程,打印n*n(n<10)的螺旋方阵。
该文针对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)的螺旋方阵。相关推荐
- 编程打印如下形式的杨辉三角形,打印的杨辉三角形的行数n(不超过10行)要求由用户从键盘输入。要求按照如下函数原型进行编程,不能使用全局变量
/* 6.3 编程打印如下形式的杨辉三角形,打印的杨辉三角形的行数n(不超过10行)要求由用户从键盘输入.要求按照如下函数原型进行编程,不能使用全局变量 1 1 1 1 2 1 1 3 3 1 1 4 ...
- java报告(一)编程打印一个三角形的乘法口诀表
编程打印一个三角形的乘法口诀表(注意对齐),并练习对程序进行单步运行.断点调试等. 实验要求: 1. 在实验报告中给出程序运行结果截图. 2. 源程序代码附到实验报告的最后. 3. 认真填写实验报告并 ...
- 4.编程打印一个二维数组中所有元素的和,并打印最大值,最小值(以及它们所在的行号和列号)
/*晕呀,竟然做了一天,还不知道怎样做出来的.....*/ package HomeWork; import java.util.Arrays; /*4.编程打印一个二维数组中所有元素的和,并打印最大 ...
- java打印小票的时间_Java编程打印购物小票实现代码
这篇文章主要介绍了Java编程打印购物小票实现代码,具有一定参考价值,需要的朋友可以了解下. 简单介绍运行环境: 语言:Java 工具:eclipse 系统:Windows7 (打印设备暂时没有,所以 ...
- python使用循环结构编程打印出如下图案_使用双层for循环编写程序,在屏幕上打印输出如下图案...
展开全部 回答即可62616964757a686964616fe59b9ee7ad9431333361303561得2分经验值第三章 循环程序在编程中经常遇到需要多次规律相同的重复处理,这就是循环问题 ...
- 编程打印空心字符菱形
编程打印空心字符菱形 (10 分) 本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形.所谓"空心菱形"是指:每行由两端为字母.中间为空格的字符串构成,每行的字符串中心对 ...
- C#编程中最常见的10个错误
C#编程中最常见的10个错误 英文原文链接:https://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make 原 ...
- Python3算法基础练习:编程100例(6 ~ 10)
往期练习: Python3算法基础练习:编程100例(1~5) Python3算法基础练习:编程100例(6 ~ 10) 6.斐波那契数列 7.列表复制 8.乘法口诀表 9.暂停输出 10.格式化时间 ...
- C++编程人员容易犯的10个C#错误
C++编程人员容易犯的10个C#错误 C#的语法与C++非常相似,有些变化引起的错误却很严重,本讨论C++编程人员最容易犯的十个错误. 我们知道,C#的语法与C++非常相似,实现从C++向C#的转变, ...
最新文章
- Mysql索引底层实现
- 【采用】互联网金融风控模型的设计
- shell脚本中的坑
- java耗时操作阻塞_springboot~高并发下耗时操作的实现
- hdu 4717 The Moving Points(三分+计算几何)
- 入门机器学习(二)--多变量线性回归
- datax 定时执行多个job_数据同步神器Datax源码重构
- Python入门--字典的创建
- windows 搭建和配置 hadoop + 踩过的坑
- xshell官方个人免费版申请下载使用
- Linux安装WIFI无线网卡驱动
- 从 0 搭建 Vite 3 + Vue 3 前端工程化项目
- SQL练习题附重点函数说明--更新至21题
- Linux服务器之间使用scp免密传输文件
- latex 大于小于大于等于小于等于
- 《电商后台系统产品逻辑解析》学习笔记
- python生成图片
- 内部寄存器:通用寄存器、控制寄存器、段寄存器
- 使用APM破解Imminent rat病毒后我们学到的东西
- 美团专家:35岁是程序员的终点?
热门文章
- Excel数据分析案例四——留存预测
- 告别内卷,Java面试指南霸榜Github Trending,刷完进大厂
- touchmove事件里对线条stroke执行clearRect失效
- 协方差分析 | ANCOVA (Analysis of Covariance) | R代码
- cmd命令删除计算机密码,win7系统下如何利用DOS清除CMOS密码的方法
- 3CX Desktop App 遭受软件供应链攻击(CVE-2023-29059)
- spring quarts 任务调度
- 连续型字段,离散型字段
- python3.4判断闰年,Python 判断闰年
- 引擎开发四: SFML库及使用