循环——while结构与do-while结构
一、课上练习
习题链接
示例代码
while循环画十六边形
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}do-while循环画十六边形
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}L1111 求和问题1 (P1012) 示例代码
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}L1112 求和问题2 (P1009) 示例代码
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}L1113 求和问题3 (P1010) 示例代码
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循环结构
while循环流程图
while循环书写方式
while循环书写方式
1while (循环条件) {
2 // 若循环条件为真则运行大括号内代码
3 操作1
4 更新循环条件内变量值
5}
6// 若循环条件为假则跳出循环运行后续代码
7操作2while循环求和代码示例
while循环求和示例
1int n = 100;
2int sum = 0;
3int i = 1;
4while (i <= n) {
5 sum += i;
6 ++i;
7}
8cout << sum << endl;do-while循环结构
do-while循环流程图
do-while循环书写方式
do-while循环书写方式
1do {
2 // 执行下列代码
3 操作1
4 更新循环条件内变量值
5} while (循环条件); //若循环条件为真则重复运行大括号内代码
6// 若循环条件为假则跳出循环运行后续代码
7操作2do-while循环求和代码示例
do-while循环求和示例
1int n = 100;
2int sum = 0;
3int i = 1;
4do {
5 sum += i;
6 ++i;
7} while (i <= n);
8cout << sum << endl;while与do-while循环的区别
while循环会先进行判断,即要满足循环条件之后才运行循环内部代码。
do-while循环后进行判断,即不管条件是否满足都会先运行一次循环内部的代码。