使用指针法实现输入10个数,求去除一个最大数和一个最小数后的平均数
时间: 2024-02-12 16:07:58 浏览: 58
好的,我来帮您解答这个问题。
首先,您可以定义一个数组来存储这10个数,然后使用指针来遍历数组,找到最大值和最小值,再将其从数组中删除,并累加剩余数字的总和,最后求得平均数。
以下是示例代码:
```c
#include <stdio.h>
int main() {
int nums[10];
int* p = nums;
int max = *p, min = *p, sum = 0;
// 输入10个数
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", p++);
}
p = nums; // 重置指针
// 找到最大值和最小值
for (int i = 0; i < 10; i++) {
if (*p > max) {
max = *p;
}
if (*p < min) {
min = *p;
}
p++;
}
p = nums; // 重置指针
// 求和
for (int i = 0; i < 10; i++) {
if (*p != max && *p != min) { // 排除最大值和最小值
sum += *p;
}
p++;
}
// 输出平均值
printf("去除最大值和最小值后的平均数为:%.2f\n", (float)sum / 8);
return 0;
}
```
希望能帮到您!
阅读全文