解题思路:1,输入;2,冒泡排序;3,除去第一个最后一个累加求平均值;4,原数据(除去第一个最后一个)与平均值作差;5,输出。
注意事项:
参考代码:
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
double arr[300] = { 0 };
for (int i = 0; i < n; i++)
{
scanf("%lf", &arr[i]);
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
double t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
double sum = 0;
for (int i = 1; i < n - 1; i++)
{
sum += arr[i];
}
double avange = sum / (n-2);
double ar[300] = { 0 };
for (int i = 1; i < n - 1; i++)
{
if (arr[i] - avange > 0)
ar[i] = arr[i] - avange;
else
ar[i] = -(arr[i] - avange);
}
double max = 0;
for (int i = 1; i < n - 1; i++)
{
if (ar[i] > max)
max = ar[i];
}
printf("%.2lf %.2lf", avange, max);
return 0;
}
0.0分
2 人评分