C++编程:循环嵌套与数字分析
需积分: 10 2 浏览量
更新于2024-08-26
收藏 26KB DOC 举报
"C++第三节课的笔记主要涵盖了循环嵌套的概念和应用,包括for和while循环的使用,以及在编程中处理数字和字符的技巧。笔记中提到了几个不同的编程练习,旨在帮助学习者深入理解循环结构和数字操作。"
在C++中,循环是一种控制程序流程的方式,用于重复执行一段代码,直到满足特定条件为止。本节笔记主要讨论了循环嵌套,即在一个循环体内部再包含另一个循环,这在处理二维数组、矩阵或其他需要多层遍历的结构时非常有用。
1. 第一个例子展示了简单的for循环嵌套,用于打印矩形的星号(*)图案。外层循环控制行数,内层循环控制每行中的星号数量。这个程序输入矩形的长和宽,然后打印出相应形状。
```cpp
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
cout << "@";
}
cout << endl;
}
```
2. 第二个示例使用while循环实现了一个倒序打印数字的程序。这里的循环嵌套是隐式的,外层while循环负责减少每一行的字符数,而内层循环则负责打印字符。
```cpp
while(m != 0) {
for(n = i; n > 0; n--) {
printf("%c", a);
}
printf("\n");
m--;
}
```
3. 接下来的练习是关于数字拆解和统计数字1出现的次数。第一个实例通过while循环将整数拆分为单个数字并求和。这个方法可以用于计算数字的各位之和。
```cpp
int sum = 0;
while(n) {
sum += n % 10;
n /= 10;
}
```
4. 第二个数字1计数的练习中,使用了两层嵌套for循环来检查1到n的每个数,然后用内层循环拆分并统计每个数中1的出现次数。这可以通过检查每次循环的余数是否等于1来实现。
```cpp
for(int i = 1; i <= n; i++) {
int n = i;
while(n != 0) {
if(n % 10 == 1)
sum++;
n /= 10;
}
}
```
5. 最后,笔记提到一个题目是寻找所有小于等于n且与7无关的正整数之和。这里的“与7无关”意味着数字既不是7的倍数,也不包含数字7。这个问题可以通过遍历所有小于n的正整数,逐一检查它们是否满足条件,然后累加符合条件的数。
```cpp
for(int i = 1; i <= n; i++) {
// 检查是否为7的倍数或包含数字7
if(i % 7 != 0 && !containsDigit(i, 7)) {
sum += i;
}
}
bool containsDigit(int num, int digit) {
while(num != 0) {
if(num % 10 == digit)
return true;
num /= 10;
}
return false;
}
```
这些例子和练习展示了C++中循环结构的强大功能和灵活性,以及如何利用它们解决实际问题。通过深入理解和熟练掌握循环嵌套,开发者可以编写更复杂、高效的代码。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-04-18 上传
2022-11-19 上传
2015-09-23 上传
2008-11-01 上传
2012-11-08 上传
2011-12-12 上传
WANGYUZHEN王玉镇
- 粉丝: 28
- 资源: 12
最新资源
- README_Generator
- designpatterns:设计模式
- reviews:回顾我参加的一些在线CS课程
- mmpose和openpose的onnx导出
- AMI_CRT-0.1-py3-none-any.whl.zip
- ASP Jscript Calendar-开源
- 梦境前端
- nodesql:带有SQL Server的节点
- wiki.central.ntua.gr
- TU-Chemnitz-thesis-pandoc:使用 pandoc 的 TU-Chemnitz 模板
- learn_flutter_with_git
- Scrumdidilyumptio.us-开源
- My Template-开源
- AMQPStorm-2.6.2-py2.py3-none-any.whl.zip
- oslfrobot.github.io:有关一个传感器行跟随器机器人的网站,该机器人还可以避开物体并进行自动校准
- 仓库SWWReact节点MySQL