输入一个考试成绩的序列,以-1为结束标记。成绩均为整数,且在0到100之间。序列长度在1到1000之间。计算并输出最高、最低和平均成绩。 输入举例: 10 20 30 40 50 -1 输出举例: 50 10 30.00
时间: 2023-05-31 07:18:34 浏览: 876
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
### 回答1:
输入一个考试成绩的序列,以-1为结束标记。成绩均为整数,且在到100之间。序列长度在1到100之间。计算并输出最高、最低和平均成绩。
输入举例:10 20 30 40 50 -1
输出举例:50 10 30.00
### 回答2:
题目要求我们输入一个考试成绩的序列,并且以-1为结束标记。然后计算序列中的最高、最低和平均成绩,并将结果输出。我们可以用一个数组来存储数据,用一个变量来记录输入的成绩个数,求和后再除以个数得到平均值,用另外两个变量来记录最高和最低成绩,并依次比较每一个成绩来更新这两个变量的值。
代码可能像这样:
```python
scores = []
count = 0
highest = 0
lowest = 100
total = 0
while True:
score = int(input())
if score == -1:
break
scores.append(score)
count += 1
highest = max(highest, score)
lowest = min(lowest, score)
total += score
print(highest, lowest, '%.2f' % (total / count))
```
首先初始化一个空的列表scores,一个表示成绩个数的计数器count,一个表示最高成绩的变量highest,一个表示最低成绩的变量lowest,一个表示总分的变量total。然后进入一个循环,不断读入考试成绩,如果读到-1则跳出循环。每读入一个成绩,将其添加到scores列表中,增加count计数器,更新最高和最低成绩变量的值,把成绩加到总分变量中。最后输出最高、最低和平均成绩。注意要使用格式化字符串输出平均成绩时保留两位小数。
### 回答3:
这道题目是一个简单的求最高、最低和平均成绩的问题。根据题目描述,我们可以看出输入的成绩序列以-1为结束标记,那么我们可以使用循环语句来读入成绩,同时用一个变量count记录输入的成绩的数量,以便后面求平均成绩时使用。
具体来说,我们可以使用while循环来读入成绩,每次将读入的成绩累加到总分数sum中,并判断输入成绩是否为-1,如果是则跳出循环。
读入成绩后,我们需要分别计算最高、最低和平均成绩,这可以使用三个变量max、min和average来记录。在读完成绩后,我们可以遍历成绩序列,找到最高和最低成绩,并根据count和sum计算平均成绩。
下面是一份可能的实现代码,请参考:
```
#include <iostream>
using namespace std;
int main() {
int score, count = 0, sum = 0;
int max = 0, min = 100;
double average;
while (true) {
cin >> score;
if (score == -1) break;
count ++;
sum += score;
if (score > max) max = score;
if (score < min ) min = score;
}
average = (double) sum / count;
cout << max << " " << min << " " << fixed << setprecision(2) << average << endl;
return 0;
}
```
在这个代码中,我们首先声明了需要用到的变量。然后使用while循环来读入成绩,每次读入完成绩后判断是否为-1,如果是则跳出循环;否则累加count和sum,并更新max和min。
最后,我们使用count和sum计算平均成绩,并使用cout输出结果,注意需要使用fixed和setprecision函数来保留两位小数。
总结一下,这道题目是一个简单的求最高、最低和平均成绩的问题,可以使用循环和变量来实现。对于这类求解问题,我们需要根据题目要求选择合适的数据结构和算法,同时注意边界条件和错误处理。
阅读全文