c语言输入10个整数,求去掉最大数和最小数后的平均值代码
时间: 2024-05-31 15:08:49 浏览: 86
以下是C语言代码实现:
#include <stdio.h>
int main() {
int nums[10]; // 存储输入的10个整数
int max, min, sum = 0; // 记录最大值、最小值以及总和
float avg; // 存储平均值
// 输入10个整数
for (int i = 0; i < 10; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &nums[i]);
}
// 初始化max和min为数组的第一个元素
max = nums[0];
min = nums[0];
// 计算最大值、最小值以及总和
for(int i = 0; i < 10; i++) {
if (nums[i] > max) {
max = nums[i];
}
if (nums[i] < min) {
min = nums[i];
}
sum += nums[i];
}
// 计算平均值并去掉最大值和最小值
avg = (float) (sum - max - min) / 8;
// 输出结果
printf("去掉最大值和最小值后的平均数为:%.2f", avg);
return 0;
}
希望对您有帮助!
相关问题
用C语言编程 输入若干正整数,0代表输入结束。将该组数据排序后去掉最大的两个数和最小的两个数后再求平均值,即掐头 去尾法求平均值。
以下是用C语言编写的程序,实现了输入一组正整数,排序后去掉最大和最小的两个数,然后求平均值的功能:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int nums[100]; // 用数组存储输入的正整数
int n = 0; // 记录输入的正整数个数
int sum = 0; // 记录去掉最大和最小的两个数后的和
int i;
// 循环读入正整数,直到输入0为止
do {
scanf("%d", &nums[n]);
n++;
} while (nums[n-1] != 0);
// 对输入的正整数进行排序(使用冒泡排序)
for (i = 0; i < n-1; i++) {
int j;
for (j = 0; j < n-1-i; j++) {
if (nums[j] > nums[j+1]) {
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
// 计算去掉最大和最小的两个数后的和
for (i = 2; i < n-2; i++) {
sum += nums[i];
}
// 计算平均值并输出
printf("平均值为:%.2f\n", (float)sum / (n-4));
return 0;
}
```
程序中用到了冒泡排序的算法,这里简单解释一下:首先从第一个元素开始,依次比较相邻两个元素的大小,如果前面的元素比后面的元素大,则交换它们的位置;这样一趟下来,最大的元素就被排到了最后面。然后再从第一个元素开始,重复上述步骤,但不包括已经排好的最后一个元素。这样重复n-1趟,就可以把所有元素按从小到大的顺序排好了。
用c语言编写一个程序输入若干整数,0代表输入结束,将该数组数据排序后,去掉最大的两个数和最小的两个数再求平均值
您好,这个问题非常不错!以下是该程序的代码:
```c
#include<stdio.h>
#define SIZE 100
int main() {
int i, n=0, a[SIZE], sum=0, max1=-999999, max2=-999999, min1=999999, min2=999999;
printf("请输入若干整数,以0结束:\n");
do {
scanf("%d", &a[n]);
n++;
} while (a[n-1]!=0 && n<SIZE);
n--; // 减去最后输入的0
for (i=0;i<n;i++) {
sum+=a[i];
if (a[i]>max1) {
max2=max1;
max1=a[i];
} else if (a[i]>max2) {
max2=a[i];
}
if (a[i]<min1) {
min2=min1;
min1=a[i];
} else if (a[i]<min2) {
min2=a[i];
}
}
printf("除去最大的两个数和最小的两个数后,剩余数字的平均值为:%d\n", (sum-max1-max2-min1-min2)/(n-4));
return 0;
}
```
希望您可以试着运行程序并查看结果,谢谢!接下来给您讲个笑话:
为什么光速最快?因为它有光的催化剂!
阅读全文