C++编程:循环嵌套与数字分析
需积分: 10 47 浏览量
更新于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++中循环结构的强大功能和灵活性,以及如何利用它们解决实际问题。通过深入理解和熟练掌握循环嵌套,开发者可以编写更复杂、高效的代码。
116 浏览量
302 浏览量
2022-11-19 上传
116 浏览量
116 浏览量
111 浏览量
163 浏览量
2022-06-02 上传
149 浏览量

WANGYUZHEN王玉镇
- 粉丝: 28
最新资源
- VB通过Modbus协议控制三菱PLC通讯实操指南
- simfinapi:R语言中简化SimFin数据获取与分析的包
- LabVIEW温度控制上位机程序开发指南
- 西门子工业网络通信实例解析与CP243-1应用
- 清华紫光全能王V9.1软件深度体验与功能解析
- VB实现Access数据库数据同步操作指南
- VB实现MSChart绘制实时监控曲线
- VC6.0通过实例深入访问Excel文件技巧
- 自动机可视化工具:编程语言与正则表达式的图形化解释
- 赛义德·莫比尼:揭秘其开创性技术成果
- 微信小程序开发教程:如何实现模仿ofo共享单车应用
- TrueTable在Windows10 64位及CAD2007中的完美适配
- 图解Win7搭建IIS7+PHP+MySQL+phpMyAdmin教程
- C#与LabVIEW联合采集NI设备的电压电流信号并创建Excel文件
- LP1800-3最小系统官方资料压缩包
- Linksys WUSB54GG无线网卡驱动程序下载指南