这道题很简单,却在这写解题报告。
1、可以先输入一个值,赋给max和min,然后再去求最小值和最大值。因为自己之前max=0,min=100,这种方法不好
2、输入格式很重要。首先要确定是什么格式,其次是符号别弄错,就像刚开始a用%d,结果这个数据就读不进了。
3、看了html,觉得有些话很有用。
#include <stdlib.h>
void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );这是排序函数。
如:int cmp(const double *a, const double *b)
{
return *a > *b ? 1 : *a < *b ? -1 : 0;//a>b,输出1,<输出-1,=输出0
}
double y[100];
for (i = 0 ; i < n ; i++)
scanf("%lf", y + i);
qsort(y, n, sizeof(double), cmp);这是升序排序。
#include<stdio.h>
int main()
{
int n,i;
double sum,a,max,min;
while(scanf("%d",&n)!=EOF)
{
scanf("%lf",&a);
max=a;
min=a;
sum=a;
for(i=1;i<n;i++)
{
scanf("%lf",&a);
sum+=a;
if(max<a)
max=a;
if(min>a)
min=a;
}
printf("%.2f\n",(sum-max-min)/(n-2));
}
return 0;
}