评分系统
去掉最高分,最低分,然后去掉次高分,次低分
#include<stdio.h>
#define N 10
#include<stdlib.h>
double getscore(double *score)
{
int i=0;
double max1=score[0],min1=score[0],max2=-1,min2=11;
double num,sum=0;
for(i;i<N;i++)
{
if(max1<score[i])
max1=score[i];
if(min1>score[i])
min1=score[i];
}
for(i;i<N;i++)
{
if(max2<score[i]&&score[i!=max1])
max2=score[i];
if(min2>score[i]&&score[i]!=min1)
min2=score[i];
}
num=i-4;
for(i=0;i<N;i++)
{
sum=sum+score[i];
}
sum=sum-max1-max2-min1-min2;
return sum/num;
}
int main()
{
double ave;
double score[]={9.47,9.56,9.96,10,9.75,9.78,9.95,9.86,9.82,9.18};
int i=0;
FILE *fp;
fp=fopen("T\\myf2.c","w");
if(fp==NULL)
{
printf("error!") ;
exit(0);
}
ave=getscore(score);
for(i;score[i]!='\0';i++)
{
printf("%6.2lf",score[i]);
fprintf(fp,"%6.2lf",score[i]);
}
printf("\n");
fprintf(fp,"\n");
printf("last score=%4.2lf\n",ave);
fprintf(fp,"last score=%4.2lf\n",ave);
printf("my examnumber is 00001");
fprintf(fp,"my examnumber is 00001");
fclose(fp);
return 0;
}