打印数字图形

news/2025/3/25 22:15:58/

目录

1.题目描述:先要求你从键盘输入一个整数n(1<=n<=9),打印出指定的数字图形。

2.输入:输入包含多组测试数据。每组输入一个整数n(1<=n<=9)。

3.输出:对于每组输入,输出指定的数字图形。注意:每行最后一个数字后没有任何字符。

4.样例输入:5

5.样例输出:

6.思路

7.代码展示: 

8.结果展示

 9.原题目链接


1.题目描述:先要求你从键盘输入一个整数n(1<=n<=9),打印出指定的数字图形。

2.输入:输入包含多组测试数据。每组输入一个整数n(1<=n<=9)。

3.输出:对于每组输入,输出指定的数字图形。
注意:每行最后一个数字后没有任何字符。

4.样例输入:5

5.样例输出:

    1121123211234321
1234543211234321123211211

6.思路

可以观察这个输出图形是一个上下左右都对称的图形。

第一版:按照左右对称输出,先输出左边,但是问题就是一旦上一行没有输出完,那么跳入下面的行的时候,如何让鼠标返回去是一个问题,所以这个想法行不通。

第二版:定义数组输出,整个二维数组填充最后一个又一个输出就行,但是问题就是:空格的地方需要有数据,那如果定义为字符串数组,中间的数字是有规律的,那数字输出来就很麻烦,定义为整形数组那空格没办法输出来,所以这个想法依旧不通过

第三版:按照上下对称输出,观察规律,很容易能看出n与输出行数i和列数j的关系,可以写出下列代码,但实际上,我并没有写出来,思路出来,去,看到这个答案的时候还是挺懵的,但是仔细观察加上在编译器里一步一步调试的时候就很清楚了。

ps:当你看不懂别人代码的时候,可以调试,一步一步下来之后就能明白了,加油!

7.代码展示: 

#include<iostream>
#include<vector>
using namespace std;void printTopPart(int n)//打印左半部分
{for(int i=1;i<=n;i++){//打印空格for(int j=1;j<=n-i;++j){cout<<" ";}//打印上半部分递增数据for(int j=1;j<=i;j++){cout<<j;}//打印上半部分递减数字for(int j=i-1;j>=1;j--){cout<<j;}cout<<endl;}
}
void printBottomPart(int n)//同上只是换了方向
{for(int i=n-1;i>=1;i--){for(int j=1;j<=n-i;j++){cout<<" ";}for(int j=1;j<=i;j++){cout<<j;}for(int j=i-1;j>=1;j--){cout<<j;}cout<<endl;}
}
int main()
{int n;while(cin>>n){if(n<1||n>9){cout<<"输入数据错误"<<endl;}printTopPart(n);printBottomPart(n);}}

8.结果展示

 9.原题目链接

卡码网KamaCodericon-default.png?t=N6B9https://kamacoder.com/


http://www.ppmy.cn/news/1048290.html

相关文章

阿里云2核4G服务器配置汇总表_轻量和ECS

阿里云2核4G服务器配置价格表&#xff0c;297元一年&#xff0c;配置为轻量应用服务器2核4G、4M带宽、60GB高效云盘&#xff0c;折合24元一个月。 目录 2核4G服务器轻量&#xff1a; 2核4G服务器ECS 关于轻量和ECS的区别&#xff1a; 2核4G服务器轻量&#xff1a; 云服务器…

Window10安装ISE14.7闪退

简介 相信对于做FPGA的同行来说,逃不过Xilinx公司的芯片,而Xilinx公司的芯片又逃不过Spartan6系列,无论Xilinx怎么去强推7系列产品,Spartan6还是有大把的人在用(成本问题),虽然目前国内厂商生产的FPGA部分可替代Spartan6功能,很多精髓还是没有学习到。 相对于Xilinx主推…

Visual Studio Code前端开发插件推荐

引言 Visual Studio Code&#xff08;简称VS Code&#xff09;是一款轻量级且强大的开源代码编辑器&#xff0c;广受前端开发者的喜爱。其丰富的插件生态系统为前端开发提供了许多便利和增强功能的插件。本篇博客将向大家推荐一些在前端开发中常用且优秀的插件&#xff0c;并提…

《HeadFirst设计模式(第二版)》第十一章代码——代理模式

代码文件目录&#xff1a; RMI&#xff1a; MyRemote package Chapter11_ProxyPattern.RMI;import java.rmi.Remote; import java.rmi.RemoteException;public interface MyRemote extends Remote {public String sayHello() throws RemoteException; }MyRemoteClient packa…

学习心得03:OpenCV

数学真是不可思议&#xff0c;不管什么东西&#xff0c;都能用数学来处理。OpenCV以前也接触过&#xff0c;这次是系统学习一下。 颜色模型 RGB&#xff0c;YUV&#xff0c;HSV&#xff0c;Lab&#xff0c;GRAY 颜色转换cvtColor()/convertTo()&#xff0c;通道分离split()&…

基于YOLOv5n/s/m不同参数量级模型开发构建茶叶嫩芽检测识别模型,使用pruning剪枝技术来对模型进行轻量化处理,探索不同剪枝水平下模型性能影响

今天有点时间就想着之前遗留的一个问题正好拿过来做一下看看&#xff0c;主要的目的就是想要对训练好的目标检测模型进行剪枝处理&#xff0c;这里就以茶叶嫩芽检测数据场景为例了&#xff0c;在我前面的博文中已经有过相关的实践介绍了&#xff0c;感兴趣的话可以自行移步阅读…

消息中间件篇

消息中间件篇 RabbitMQ 如何保证消息不丢失 面试官&#xff1a; RabbitMQ如何保证消息不丢失 候选人&#xff1a; 嗯&#xff01;我们当时MYSQL和Redis的数据双写一致性就是采用RabbitMQ实现同步的&#xff0c;这里面就要求了消息的高可用性&#xff0c;我们要保证消息的不…

快速连接服务器脚本 可从多个服务中选择并连接

使用 python 做一个可选择服务器登录连接的脚本 前置条件 需要有python 环境python --version 显示版本号即可检查 python 是否有 paramiko 包没有的话 python install paramiko创建一个python 文件,内容如下 # -*- coding: utf-8 -*-""" Authors: huxiaohua…