使用C语言计算 scroe 数组中 10个人的平均成绩 aver,将低于 aver的成绩放在 below 数组中。输出aver和below数组中的数据。
时间: 2024-12-22 09:12:13 浏览: 6
计算题目的最高分,每个题目有三种策略,要花费相应的时间获取对应的分数,在120分钟内,获取的最高分数
在C语言中,你可以通过以下步骤来计算数组`score`中10个人的平均成绩`aver`,并将低于这个平均值的成绩放入`below`数组中:
1. 首先,你需要初始化一些变量。设`sum`为所有成绩之和,`count`为人数(在这个例子中是10),`aver`为平均值,`i`为遍历数组的索引。
```c
int score[10] = {...}; // 假设这是包含10个成绩的数组
int below[10]; // 存储低于平均分的成绩
int sum = 0;
int count = 10;
double aver;
```
2. 然后计算总和并求平均值:
```c
for (i = 0; i < count; i++) {
sum += score[i];
}
aver = (double)sum / count;
```
3. 接下来遍历数组,检查每个分数是否低于平均分,并将其添加到`below`数组中:
```c
int j = 0; // 记录低于平均分的元素位置
for (i = 0; i < count; i++) {
if (score[i] < aver) {
below[j++] = score[i]; // 如果小于平均分,将元素复制到below数组
} else {
// 如果等于或大于平均分,跳过
}
}
```
4. 最后输出结果:
```c
printf("Average Score: %.2f\n", aver); // 输出平均成绩,保留两位小数
for (i = 0; i < j; i++) {
printf("Below Average (%d): %d\n", i+1, below[i]); // 输出低于平均分的成绩及其序号
}
```
如果你提供具体的`score`数组内容,我可以展示一个完整的示例程序。请注意,C语言中没有内置的数据类型可以直接存储浮点数,所以我用了`double`类型表示平均分。同时,`below`数组也需要足够的空间来存放所有的成绩。别忘了对输入数组进行合法性检查,比如确保它有至少10个元素并且不是负数。
阅读全文