这道题很简单,却在这写解题报告。

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;
}

posted on 2012-08-01 13:52  zhtzhl  阅读(189)  评论(0)    收藏  举报