1#include "CTurtle.hpp"
2#include <bits/stdc++.h>
3using namespace std;
4using namespace cturtle;
5
6int main() {
7 // 创建一个画布屏幕
8 TurtleScreen scr;
9 // 创建一个画图图标
10 Turtle turtle(scr);
11
12 int bianshu = 4;
13 int bianchang = 20;
14 double jiaodu = 360.0 / bianshu;
15
16 for (int i = 0; i < 5; ++i) {
17 for (int j = 0; j < 5; ++j) {
18 for (int k = 0; k < bianshu; ++k) {
19 turtle.forward(bianchang);
20 turtle.right(jiaodu);
21 }
22 turtle.forward(bianchang);
23 }
24 turtle.right(jiaodu);
25 turtle.forward(bianchang);
26 turtle.right(jiaodu);
27 turtle.forward(bianchang * 5);
28 turtle.right(jiaodu * 2);
29 }
30
31 // 暂停程序
32 system("pause");
33 // 程序结束
34 return 0;
35}1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int n;
6 cin >> n;
7 int sum = 0;
8 for (int i = 1; i <= n; ++i) {
9 for (int j = 1; j <= i; ++j) {
10 sum += j;
11 }
12 }
13 cout << sum << endl;
14 return 0;
15}1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int a, b;
6 cin >> a >> b;
7 int count = 0;
8 for (int i = a; i <= b; ++i) {
9 bool flag = true;
10 for (int j = 2; j * j <= i; ++j) {
11 if (i % j == 0) {
12 flag = false;
13 break;
14 }
15 }
16 if (flag) {
17 ++count;
18 }
19 }
20 cout << count << endl;
21 return 0;
22}1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int n;
6 cin >> n;
7 int count = 0;
8 for (int i = 1; i <= n; ++i) {
9 for (int j = 1; j <= i; ++j) {
10 cout << char(count + 'A');
11 count = (count + 1) % 26;
12 }
13 cout << endl;
14 }
15 return 0;
16}1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int n;
6 cin >> n;
7 for (int i = 1; i <= n; ++i) {
8 int number;
9 cin >> number;
10 int number0 = number;
11 int count = 0;
12 while (number) {
13 ++count;
14 number /= 10;
15 }
16 number = number0;
17 int sum = 0;
18 for (int j = 1; j <= count; ++j) {
19 int now = number % 10;
20 number /= 10;
21 int result = 1;
22 for (int k = 1; k <= count; ++k) {
23 result *= now;
24 }
25 sum += result;
26 }
27 if (sum == number0) {
28 cout << "T" << endl;
29 } else {
30 cout << "F" << endl;
31 }
32 }
33 return 0;
34}嵌套循环是在一个循环内部包含另一个循环的结构。外层循环每执行一次,内层循环就完整地执行一轮。
用生活中的例子来理解:
for (int i = 0; i < 外层次数; ++i) { // 外层循环
for (int j = 0; j < 内层次数; ++j) { // 内层循环
// 循环体
}
}嵌套循环的执行过程如下:
i初始化j初始化,内层循环完整执行一轮i,回到第2步如果外层循环执行m次,内层循环执行n次,那么循环体总共执行 m × n 次。
外层循环控制行数(i从1到9),内层循环控制每行的列数(j从1到i),每完成一行后换行。
1for (int i = 1; i <= 9; ++i) { // 外层:控制行
2 for (int j = 1; j <= i; ++j) { // 内层:控制列
3 cout << j << "*" << i << "=" << i * j << "\t";
4 }
5 cout << endl; // 每行结束后换行
6}输出结果(前3行):
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9输入n,打印n行由星号组成的直角三角形。第i行输出i个星号。
1int n;
2cin >> n;
3for (int i = 1; i <= n; ++i) { // 外层:控制行
4 for (int j = 1; j <= i; ++j) { // 内层:控制每行的星号个数
5 cout << "*";
6 }
7 cout << endl;
8}当n=4时输出:
*
**
***
****使用嵌套循环时需要注意以下几点:
i),否则会导致变量覆盖{},保持代码结构清晰在嵌套循环中,break和continue只能控制它所在的那一层循环,不会影响外层循环。
1for (int i = 1; i <= 3; ++i) {
2 for (int j = 1; j <= 5; ++j) {
3 if (j == 3) {
4 break; // 只终止内层循环,外层继续
5 }
6 cout << i << "," << j << " ";
7 }
8 cout << endl;
9}输出结果:
1,1 1,2
2,1 2,2
3,1 3,2每次内层循环到j==3时就被break终止,但外层循环继续执行,所以一共输出3行。
1for (int i = 1; i <= 3; ++i) {
2 for (int j = 1; j <= 4; ++j) {
3 if (j == 2) {
4 continue; // 跳过j==2,继续内层下一次循环
5 }
6 cout << i << "," << j << " ";
7 }
8 cout << endl;
9}输出结果:
1,1 1,3 1,4
2,1 2,3 2,4
3,1 3,3 3,4每行都跳过了j==2的输出,但内层循环没有终止,继续执行j==3和j==4。
