C++ 循环结构计算学生平均成绩:while 与 do...while 实现
C++ 循环结构计算学生平均成绩:while 与 do...while 实现
本教程将演示如何使用 C++ 中的 while 和 do...while 循环结构来计算学生的平均成绩。我们将提供两个示例,分别使用不同的循环结构来实现相同的功能。
使用 while 循环结构
以下代码使用 while 循环结构实现平均成绩计算:
#include <iostream>
using namespace std;
int main() {
int score, sum = 0, count = 0;
while (true) {
cin >> score;
if (score == -1) {
break;
}
sum += score;
count++;
}
if (count == 0) {
cout << '没有输入成绩' << endl;
} else {
double average = static_cast<double>(sum) / count;
cout << '平均成绩为:' << average << endl;
}
return 0;
}
代码解释:
- 首先,我们声明了三个变量:
score用于存储单个学生成绩,sum用于累加所有成绩,count用于统计输入的成绩数量。 - 进入
while循环,循环条件为true,表示无限循环,直到遇到break语句。 - 在循环中,我们使用
cin获取用户输入的成绩,并判断是否为-1。 - 如果输入的是
-1,则执行break语句跳出循环。 - 如果输入的不是
-1,则将score加到sum中,并将count加1。 - 循环结束后,判断
count是否为0,如果为0,则表示没有输入成绩,输出提示信息。 - 如果
count不为0,则计算平均成绩,并输出结果。
使用 do...while 循环结构
以下代码使用 do...while 循环结构实现平均成绩计算:
#include <iostream>
using namespace std;
int main() {
int score, sum = 0, count = 0;
do {
cin >> score;
if (score != -1) {
sum += score;
count++;
}
} while (score != -1);
if (count == 0) {
cout << '没有输入成绩' << endl;
} else {
double average = static_cast<double>(sum) / count;
cout << '平均成绩为:' << average << endl;
}
return 0;
}
代码解释:
- 与
while循环类似,我们首先声明了三个变量:score、sum和count。 - 进入
do...while循环,循环体中的代码会至少执行一次,然后根据循环条件判断是否继续执行。 - 在循环体内,我们使用
cin获取用户输入的成绩,并判断是否为-1。 - 如果输入的不是
-1,则将score加到sum中,并将count加1。 - 循环条件为
score != -1,表示当输入-1时,循环结束。 - 循环结束后,判断
count是否为0,如果为0,则表示没有输入成绩,输出提示信息。 - 如果
count不为0,则计算平均成绩,并输出结果。
总结
通过这两个示例,我们了解了 while 和 do...while 循环结构的基本使用方法,并学会了如何使用它们来计算学生的平均成绩。在实际编程中,我们可以根据具体需求选择不同的循环结构来实现功能。
注意: 以上代码示例均假设用户输入的是整数。如果用户输入的是浮点数,则需要进行相应的类型转换。
原文地址: https://www.cveoy.top/t/topic/mP5q 著作权归作者所有。请勿转载和采集!