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

C++语法19 循环嵌套结构(for/while循环)

语法阶段已经更新到第18章了,前面的知识你都学会了吗?如果还没有学习前面的知识,请点击👉语法专栏进行学习哦!

目录

循环嵌套

训练:数字矩形

 解析

参考代码

训练:星号三角形

 解析

 参考代码

训练:乘法口诀表

解析

参考代码


循环嵌套

和if一样,循环也能够嵌套。例如:我们可以先写一个输出1~10的循环a,我如果想让这个程序执行5次,则只需要再写一个5次的循环b,然后把循环a放入循环b中即可。

训练:数字矩形

输入整数m,n,请你打印m行,整数n~1。

【输入格式】输入两个空格隔开的整数m,n(1<=m,n<=15)

【输出格式】m行:每行有n个空格隔开的整数

【输入样例】3 5

【输出样例】

5 4 3 2 1
5 4 3 2 1
5 4 3 2 1

 解析

1.外层循环:外层循环控制行数,一共有m行,每行输入结束,会换行,所以外层循环为:

for(int i=1;i<=m;i++)
{cout << endl;
}

2.内层循环:内层循环控制输出n个数字,并且是从n开始到1结束,中间用空格隔开,即在外层循环换行前写上:

for(int j=n;j>=1;j--)
{cout<<j<<' ';
}

参考代码

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

训练:星号三角形

输入整数n,请你打印n行,*号三角形。

【输入格式】输入一个整数n(1<=n<=20)

【输出格式】输出n行:第i行有i个*号

【输入样例】3

【输出样例】

*
**
***

 解析

1. 假设i代表行,当i=1的时候,第1行有一颗*,当i=2的时候,第2行有两颗*,当i等于n的时候,第n行有n颗*。

                ​​

2. 外层循环同上题,内层循环每i行输出i个*号,行跟*是对应的,所以控制内层循环的j从1颗*开始,当j等于i的时候就是输出当前行的最后一颗*号,即:

for(int j=1;j<=i;j++)
{cout<<'*';
}

 参考代码

#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<<'*';}cout<<endl;}return 0;
}

训练:乘法口诀表

输入整数n,参考样例格式,打印前n行乘法口诀表。

【输入格式】输入一个整数n(1<=n<=20)

【输出格式】输出格式参考样例,式子之间3个空格

【输入样例】3

【输出样例】

1 * 1 = 1
1 * 2 = 2   2 * 2 = 4
1 * 3 = 3   2 * 3 = 6   3 * 3 = 9

解析

1.i代表行,j代表列,第1列第1行的算式为1*1,第1列第2行的算式为1*2,第2列第2行的算式为2*2... ...第j列第i行的算式为j*i

2.外层循环控制行,与前面两题相似,内层循环控制列,关系式为:i*j=i*j的结果并空3个格,即:

for(int j=1;j<=i;j++)
{cout<<j<<" * "<<i<<" = "<<j*i<<"   ";
}

参考代码

#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<<" * "<<i<<" = "<<j*i<<"   ";}cout<<endl;}return 0;
}
http://www.lryc.cn/news/377892.html

相关文章:

  • AtomicInteger原理和CAS与Synchronized(juc编程)
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版
  • 【机器学习】机器学习重要方法—— 半监督学习:理论、算法与实践
  • leetcode70 爬楼梯
  • ENVI实战—一文搞定非监督分类
  • 【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
  • 具身智能特点及实现路线
  • 重温react-04
  • lock-锁的概念
  • Docker 可用镜像源
  • MySQL 搭建主从报错 1236
  • 华为OD机试真题2024版-求幸存数之和
  • Python - 各种计算器合集【附源码】
  • 【已解决】better-scroll在PC端如何开启鼠标滚动以及如何始终显示滚动条
  • AJAX 综合案例-day2
  • 【Esp32连接微信小程序蓝牙】附Arduino源码《 返回10007 相同特征id冲突问题》
  • 并发控制技术
  • 什么是网段
  • PHP和Mysql前后端交互效果实现
  • vue小总结
  • RapidLayout:中英文版面分析推理库
  • postman 工具下载安装使用教程_postman安装
  • 【数学建模】——【新手小白到国奖选手】——【学习路线】
  • CSS文本超限后使用省略号代替
  • 多线程下JVM内存模型 和 volatile关键字
  • Uniapp实现页面滚动Tab吸顶,点击tab内容滚动到对应tab内容位置
  • 在Elasticsearch中-SpaceJam一个全文搜索的实例
  • Microsoft Edge浏览器安装crx拓展插件教程
  • 陈晓婚前婚后大变样
  • Linux sudo -i取消密码的方法