我编的跟你不一样呢!
编了一个,有一个bug,就是当出现平均分相同时会重复输出,还有就是没有用到指针,这个没学好。献丑了,请大侠们指教,看到有题目了就进来做做看。
///////////////////////////////////////////////////
#include <stdio.h>
#include <math.h>
int score_in[10][9],score_ave[10],score_play[10];/*全局变量,score_in[10][9]用来记录10个选手9位评委的打分*/
in_put() /*输入函数*/
{
int i,j;
for(i=0;i<10;i++)
{
printf("plese enter the %dth player's score:",i);
for(j=0;j<9;j++)
{
printf(" The %dth player:",j);
scanf("%d",&score_in[i][j]);
}
}
}
average() /*求下平均值*/
{
int m,n,max,min;
for(m=0;m<10;m++)
{
max=score_in[m][0];
min=score_in[m][0];
for(n=0;n<9;n++)
{
if(score_in[m][n]>max)
{
max=score_in[m][n];
}
else {min=score_in[m][n];}
score_ave[m]=score_ave[m]+score_in[m][n];
}
score_ave[m]=(score_ave[m]-max-min)/7;
}
}
order() /*排序*/
{
int temp,p,q;
for(p=0;p<10;p++)
{
score_play[p]=score_ave[p];
}
for(p=0;p<9;p++)
{
for(q=p+1;q<10;q++)
{
if(score_ave[p]<score_ave[q])
{
temp=score_ave[p];
score_ave[p]=score_ave[q];
score_ave[q]=temp;
}
}
}
}
out_put() /*输出*/
{
int r,s;
for(r=0;r<10;r++)
{
for(s=0;s<10;s++)
{
if(score_play[s]==score_ave[r])
{
printf("%d ,%dth,%d ",r,s,score_ave[r]);
}
}
}
}
main() /*主函数*/
{
in_put();
average();
order();
out_put();
}
[此贴子已经被作者于2007-7-12 14:22:33编辑过]