1// while循环画正16边形代码
2#include "CTurtle.hpp"
3#include <bits/stdc++.h>
4using namespace std;
5using namespace cturtle;
6
7int main() {
8 // 创建一个画布屏幕
9 TurtleScreen scr;
10 // 创建一个画图图标
11 Turtle turtle(scr);
12
13 int bianshu = 16;
14 int bianchang = 20;
15 double jiaodu = 360.0 / bianshu;
16
17 int count = 0;
18 while (count < bianshu) {
19 turtle.forward(bianchang);
20 turtle.right(jiaodu);
21 ++count;
22 }
23
24 // 暂停程序
25 system("pause");
26 // 程序结束
27 return 0;
28}1// do while循环画正16边形代码
2#include "CTurtle.hpp"
3#include <bits/stdc++.h>
4using namespace std;
5using namespace cturtle;
6
7int main() {
8 // 创建一个画布屏幕
9 TurtleScreen scr;
10 // 创建一个画图图标
11 Turtle turtle(scr);
12
13 int bianshu = 16;
14 int bianchang = 20;
15 double jiaodu = 360.0 / bianshu;
16
17 int count = 0;
18 do {
19 turtle.forward(bianchang);
20 turtle.right(jiaodu);
21 ++count;
22 } while (count < bianshu);
23
24 // 暂停程序
25 system("pause");
26 // 程序结束
27 return 0;
28}1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int n;
6 cin >> n;
7 int sum = 0;
8 int i = n;
9 while (i > 0) {
10 sum += i--;
11 }
12 cout << sum << endl;
13 return 0;
14}1#include <bits/stdc++.h>using namespace std;
2
3int main() {
4 int n;
5 cin >> n;
6 double sum = 0;
7 int i = 1;
8 while (i <= n) {
9 sum += 1.0 / i;
10 ++i;
11 }
12 printf("%.3f", sum);
13 return 0;
14}1#include <bits/stdc++.h>using namespace std;
2
3int main() {
4 int n;
5 cin >> n;
6 int sum = 0;
7 int i = 1;
8 while (i <= n) {
9 sum += i;
10 i += 2;
11 }
12 cout << sum << endl;
13 return 0;
14}在生活中,很多事情需要重复做。例如:
在程序中也是一样,当我们需要重复执行某段代码时,就需要用到循环结构。循环结构让程序可以自动重复执行,而不用把相同的代码写很多遍。
一个循环通常由三个部分组成:
while循环会先判断条件,条件为真时执行循环体,为假时跳出循环。
1while (循环条件) {
2 // 若循环条件为真则运行大括号内代码
3 操作
4 更新循环变量
5}
6// 若循环条件为假则跳出循环运行后续代码输入一个整数n,计算1+2+3+...+n的结果。
1int n;
2cin >> n;
3int sum = 0;
4int i = 1;
5while (i <= n) {
6 sum += i;
7 ++i;
8}
9cout << sum << endl;do-while循环会先执行一次循环体,再判断条件,条件为真时继续循环,为假时跳出。
1do {
2 // 先执行一次大括号内代码
3 操作
4 更新循环变量
5} while (循环条件); // 注意这里有分号
6// 若循环条件为假则跳出循环运行后续代码要求用户输入1~100之间的整数,如果输入不合法则重新输入,直到输入正确为止。这种场景至少需要输入一次,非常适合用do-while。
1int n;
2do {
3 cout << "请输入1-100的整数:";
4 cin >> n;
5} while (n < 1 || n > 100);
6cout << "输入有效:" << n << endl;| while | do-while | |
|---|---|---|
| 判断时机 | 先判断条件,再执行循环体 | 先执行一次循环体,再判断条件 |
| 最少执行次数 | 0次(条件一开始就为假时不执行) | 1次(无论条件如何都至少执行一次) |
| 适用场景 | 循环次数不确定,可能一次都不执行 | 至少需要执行一次的场景(如输入验证) |
1int i = 10;
2
3// while循环:条件为假,循环体不执行,不输出任何内容
4while (i < 5) {
5 cout << i << endl;
6 ++i;
7}
8
9// do-while循环:先执行一次循环体,输出 10
10do {
11 cout << i << endl;
12 ++i;
13} while (i < 5);