
int main()
{
struct st
{
char name[10]
int cj[20]
double avage
}std[50],t
int m,n,i,j,k
double max,min
scanf("%d",&m)
printf("输入评委人数:")
scanf("%d",&n)
printf("输入%d个选手:",m)
for(i=0i<mi++)
scanf("%s",std[i].name)
for(i=0i<mi++)
{
printf("输入第%d个选手的%d个成绩:",i,n)
for(j=0j<nj++)
{
scanf("稿如%d",&std[i].cj[j])
}
}
//求平键悉启均
for(i=0i<mi++)
{
max=(double)std[i].cj[0]
min=(double)std[i].cj[0]
std[i].avage=(double)std[i].cj[0]
for(j=1j<陆枣nj++)
{
if(max<std[i].cj[j])
max=std[i].cj[j]
if(min>std[i].cj[j])
min=std[i].cj[j]
std[i].avage=std[i].avage+std[i].cj[j]
}
std[i].avage=(std[i].avage-max-min)/(double)(n-2)
}
//排序
for(i=0i<mi++)
{
for(j=m-1j>ij--)
{
if(std[j].avage>std[j-1].avage)
{
t=std[j]std[j]=std[j-1]std[j-1]=t
}
}
}
for(i=0i<mi++)
{
printf("%s:%.2lf\n",std[i].name,std[i].avage)
}
}
includeinclude
double average(int i,flot max,flot min)
void main ()
flote a[10][10],double b[10]
int i,j
flote max,min
for(i=0i<闭租10i++)
for(j=0j<10j++)
scanf("f%",a)//评分祥态哪输入
for(i=0i<10i++)
for(j=0j<10j++)
{
max=(a[i][j]>谨码a[i][j+1])
min=(a[i][j]<a[i][j+1])
}
for(i=0i<=10i++)
{
b[i]=average(i)
printf("%.2f/n",b[i])
}
double average(int i,flote max,flote min)
{
double m=0
int j
for(j=0j<=10j++)
m+=a[i][j]
m=(m-max-min)/8
return m
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)