SEC-S20W5 编程中的迭代:For、While 和 Do-While 循环

in #cn2 months ago

大家好!
我回答一下这些问题。
1、循环在编程中有什么作用?你更喜欢哪种循环?
循环在编程中用于重复执行某个代码块,直到满足特定条件。常见的循环有 for 循环、while 循环和 do-while
循环。每种循环有不同的适用场景,个人更喜欢 for 循环,因为它更清晰地表达了循环的初始条件、结束条件和递增方式。

2、在上一节课的第8题中,判断房子是否在街道同一侧的条件应该这样写:
if( n%2 == m%2 ) 和 if( n%2==0 && m%2==0 || n%2==1 && m%2==1) - 用语言解释这两个条件。哪个更好?为什么?
第一个条件 if( n%2 == m%2 ) 检查两个房子编号的奇偶性是否相同,简单且清晰。第二个条件则分开判断房子编号是偶数还是奇数,更加详细但冗长。第一个条件更好,因为它简洁明了,功能与第二个相同,但更易读和维护。

3、 用每种循环分别输出33次数字33。
1. for 循环:

for (int i = 0; i < 33; i++) {
cout << 33 << endl;
}

2. while 循环:

int i = 0;
while (i < 33) {
cout << 33 << endl;
i++;
}

3. do-while 循环:

int i = 0;
do {
cout << 33 << endl;
i++;
} while (i < 33);

4、输出从11到111的数字:11, 21, 31....101, 111 - 但不要输出数字51(用一种循环实现)
可以使用 for 循环来实现这个任务,设置步长为10,并在循环中跳过数字51的输出。

for (int i = 11; i <= 111; i += 10) {
if (i == 51) {
continue; // 跳过51
}
cout << i << endl;
}

5、输出一个随机数的乘法表,例如乘以0:

1 x 0 = 0
2 x 0 = 0
3 x 0 = 0
....
10 x 0 = 0
可以使用 for 循环来输出从1到10的乘法表,随机数可以设为任何数(例如1)。

int num = 1; // 可以是任何随机数
for (int i = 1; i <= 10; i++) {
cout << i << " x " << num << " = " << i * num << endl;
}

结果为:
1 x 1 = 1
2 x 1 = 2
3 x 1 = 3
4 x 1 = 4
5 x 1 = 5
6 x 1 = 6
7 x 1 = 7
8 x 1 = 8
9 x 1 = 9
10 x 1 = 10

6、输出数字的平方:1, 4, 9, 16, 25, 36, 49...400
可以使用循环来输出从1到20的数字的平方。

for (int i = 1; i <= 20; i++) {
cout << i * i << " ";
}

7、输出某个数字的幂:1 2 4 8 16 32 64 128... 小于3000。
可以使用循环来输出某个数字(例如2)的幂,直到小于3000

int num = 2;
int power = 1;

while (power < 3000) {
cout << power << " ";
power *= num; // 计算下一个幂
}

8、有多少个四位偶数不被3整除?

在1000到9999之间的四位偶数中,有 3000 个不被3整除。换个代码实现:

初始化计数变量

count = 0

遍历所有四位偶数

for i in range(1000, 10000, 2): # 步长为2,确保只遍历偶数
if i % 3 != 0: # 检查当前偶数是否不被3整除
count += 1 # 如果不被3整除,计数加1

输出结果

print(f"在1000到9999之间的四位偶数中,有 {count} 个不被3整除。")

Sort:  
Loading...