c语言int输出10个数字,计算这个数组的平均分,去掉最高分和最低分
时间: 2024-03-11 20:47:05 浏览: 22
好的,这是一个比较基础的C语言题目,可以通过以下代码实现:
```c
#include <stdio.h>
int main() {
int nums[10];
int sum = 0;
int max = 0;
int min = 100;
// 输入10个数字,并计算它们的和
for (int i = 0; i < 10; i++) {
printf("请输入第%d个数字:", i + 1);
scanf("%d", &nums[i]);
sum += nums[i];
// 记录最大值和最小值
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
}
// 去掉最高分和最低分,并计算平均分
float avg = (sum - max - min) / 8.0;
printf("平均分为:%.2f\n", avg);
return 0;
}
```
这段代码会首先让用户输入10个数字,并计算它们的总和。同时,记录下最大值和最小值。最后,去掉最高分和最低分,并计算平均分。注意,在计算平均分时,需要将总和减去最高分和最低分,再除以8.0,而不是除以10.0,因为去掉了两个数字。
相关问题
用C语言去掉一组数组的最高分和最低分求平均值
好的,您可以参考以下代码实现该功能:
```c
#include <stdio.h>
int main() {
int scores[] = {90, 85, 92, 88, 95, 80};
int len = sizeof(scores) / sizeof(scores[0]); // 数组长度
int max = scores[0], min = scores[0]; // 初始化最高分和最低分
int sum = 0;
// 找到最高分和最低分
for (int i = 0; i < len; i++) {
if (scores[i] > max) {
max = scores[i];
}
if (scores[i] < min) {
min = scores[i];
}
}
// 求和(去掉最高分和最低分)
for (int i = 0; i < len; i++) {
if (scores[i] != max && scores[i] != min) {
sum += scores[i];
}
}
// 求平均值
float avg = (float)sum / (len - 2);
printf("去掉最高分和最低分的平均值为: %.2f\n", avg);
return 0;
}
```
这段代码先找出数组中的最高分和最低分,然后再去掉这两个分数求和,最后除以数组长度减去2(去掉最高分和最低分)即可得到平均值。
c语言使用函数去掉一个最高分和最低分求平均分
可以使用以下的 C 语言代码实现该功能:
```c
#include <stdio.h>
float avgWithoutMinMax(float arr[], int n) {
float sum = 0.0;
float min = arr[0], max = arr[0];
// 找出最大值和最小值
for (int i = 0; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
sum += arr[i];
}
// 减去最大值和最小值
sum = sum - min - max;
// 计算平均值
return sum / (n - 2);
}
int main() {
float scores[] = { 80.5, 90.0, 75.5, 85.0, 95.0 };
int n = sizeof(scores) / sizeof(scores[0]);
float avg = avgWithoutMinMax(scores, n);
printf("平均分是: %.2f", avg);
return 0;
}
```
该程序使用了一个 `avgWithoutMinMax` 函数来计算去掉最高分和最低分后的平均值。首先,它遍历一遍数组来找出最大值和最小值,并累加所有分数的和。然后,它减去最大值和最小值,最后计算平均值并返回。在 `main` 函数中,我们定义了一个数组 `scores` 来存储成绩,并使用 `sizeof` 函数来计算数组的长度。最后,我们调用 `avgWithoutMinMax` 函数来计算平均分,并使用 `printf` 函数输出结果。