当前位置: 首页 > news >正文

每日一题————P5725 【深基4.习8】求三角形

题目:

题目乍一看非常的简单,属于初学者都会的问题——————————但是实际上呢,有一些小小的坑在里面。

就是三角形的打印。

平常我们在写代码的时候,遇到打印三角形的题,一般简简单单两个for循环搞定

#include<iostream>
using namespace std;
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=i;j++){cout<<j;}cout<<endl;}return 0;
}

输出来的三角形是这样的

而题目要求的则是考右边的三角形。

一开始想到了printf来对其.....可是试了很多遍三角形都无法靠左边。

在一筹莫展之际突然灵光一闪——————可以在第二轮for循环之前再加上一个for循环来控制空格的输出。

将空格稍微补齐我们可以发现,第一行缺了6个,第二行缺了4个,第三行缺了2个,第四行缺了0个。

本来应该是第一行缺n-1个,导致这种情况的原因是三角形出现了补0。所以导致每一行长度都变成了原来的2倍。所以将循环开始的条件改成2(n-1)问题就解决了。

最后上代码:

#include<iostream>
#include<algorithm>
using namespace std;int n;int main()
{cin>>n;int a=1;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a<10){cout<<"0"<<a;}else if(a>=10){cout<<a;}a++;}cout<<endl;}cout<<endl;int b=1;for(int i=1;i<=n;i++){for(int z = 2*n-2*i; z >=1; z--){cout<<" ";}for(int j=1;j<=i;j++){if(b<10){cout<<"0"<<b;}else if(b>=10){cout<<b;}b++;}cout<<endl;}return 0;
}

http://www.lryc.cn/news/331099.html

相关文章:

  • 第三题:时间加法
  • 【RAG】内部外挂知识库搭建-本地GPT
  • MySQL——锁
  • C++(12): std::mutex及其高级变种的使用
  • 基于ROS软路由的百元硬件升级方案实现突破千兆宽带
  • OpenHarmony实战开发-分布式关系型数据库
  • 图片标注编辑平台搭建系列教程(6)——fabric渲染原理
  • Qt中QIcon图标设置(标题、菜单栏、工具栏、状态栏图标)
  • C语言程序10题
  • 定时器-间歇函数
  • Ajax-XMLHttpRequest基本使用
  • 门控循环单元(GRU)
  • 789. 数的范围 (二分学习)左端大右,右端小左
  • docker logs 查找日志常用命令
  • 百卓Smart管理平台 importexport.php SQL注入漏洞复现(CVE-2024-27718)
  • PHP教程_PHP5函数str_replace替换字符串中的字符
  • Word的”交叉引用“和”插入题注“快捷键设置
  • 小白从0学习ctf(web安全)
  • 【嵌入式开发 Linux 常用命令系列 7.4 -- awk 处理文件名,去除后缀只保留文件名】
  • Linux重点思考(中)--端口/静态内存/负载/日志
  • 【Go】五、流程控制
  • 数据开发-面试真题。
  • 如何使用免费的ChatGpt3.5
  • Kafka硬核干货
  • 分享几个可以免费使用的GPT网站吧
  • MySQL进阶-----前缀索引、单例与联合索引
  • HTTP——Cookie
  • Scala大数据开发
  • windows无法使用hadoop报错:系统找不到路径
  • 从0配置React