完不成的作业,请各位大侠帮忙解决思路

完不成的作业,请各位大侠帮忙
C语言:   (可用任何类型的C语言编译软件,如C++,Turbo   C,VC等等)
题1.
M个歌手,N个评委,对于每个歌手,在评委的打分中,去除一个最高分,去除一个最低分后,按照其余评委的总分降序排名。
要求:利用文件。


------解决方案--------------------
怎么开了两个帖?在那个里回复你了,再帖过来好了

我先写这么多,在屏幕上显示的,等我去打球回来再继续写,下面的程序是好用的,试试看


#include <iostream>
using namespace std;
double sor(double *pn,int n,double sum)
{
double max,min;
max=min=pn[0];
for(int i=1;i <n;i++)
{
if(max <pn[i])
max=pn[i];
else
min=pn[i];
}
sum=sum-max-min;
return sum;
}
void main()
{
int m,n,i,temp;
double sum=0;
cout < < "输入歌手数目 " < <endl;
cin> > m;
cout < < "输入裁判数目 " < <endl;
cin> > n;
double *pm=new double[m];
double *pn=new double[n];
double *score=new double[m];
for(i=0;i <m;i++)
{
cout < < "请给 " < <i+1 < < "号歌手打分 " < <endl;
for(int j=0;j <n;j++)
{
cout < <j+1 < < "号裁判打分为: " < <endl;
cin> > pn[j];
sum+=pn[j];
}
score[i]=sor(pn,n,sum);
sum=0;
}
for(i=0;i <m;i++)
{
cout < <i+1 < < "号歌手的总分是: " < <score[i] < <endl;
}
for(i=1;i <m;i++)
{
for(int j=0;j <m-i;j++)
{
if(score[j] <score[j+1])
{
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
cout < < "顺序: " < <endl;
for(i=0;i <m;i++)
{
cout < <score[i] < <endl;
}
}