#include<stdio.h>
void main()
{
float sorc[5][8],aver[5],sum,max,min;
int i,j,k,l;
printf("分別輸入8個評委對每個學生的評分成績\n");
for(i=0;i<5;i++)
{
printf("歌手%d",i+1);
for(j=0;j<8;j++)
scanf("%f",&sorc[i][j]);
}
/*輸出評分成績*/
for(i=0;i<5;i++)
{
printf("歌手%d:",i+1);
for(j=0;j<8;j++)
printf("%f\t",sorc[i][j]);
printf("\n");
}
/*去掉最高分和最低分*/
for(i=0;i<5;i++)
{
max=min=sorc[i][0];
k=0;
l=0;
for(j=1;j<8;j++)
{
if(max<sorc[i][j])
{
max=sorc[i][j];
k=j;
}
if(min>sorc[i][j])
{
min=sorc[i][j];
l=j;
}
}
sorc[i][k]=0;
sorc[i][l]=0;
}
/*計算平均分*/
for(i=0;i<5;i++)
{
sum=0.0;
for(j=0;j<8;j++)
sum+=sorc[i][j];
aver[i]=sum/6; /*因為已經除去壹個最高分和壹個最低分*/
printf("歌手%d的平均分為%f\n",i,aver[i]);
}
}
2、
#include<stdio.h>
#define N 5
struct student
{
char name[8];
float score[4];
float sum;
}stu[N],p;
void main()
{
/*對信息初始化*/
int i,j;
float s;
for(i=0;i<N;i++)
{
printf("student%d\n",i+1);
printf("name:");
scanf("%s",stu[i].name);
for(j=0;j<4;j++)
{
printf("cheng ji %d",j+1)
scanf("%f",&stu[i].score[j]);
}
printf("\n");
}
/*計算總成績*/
for(i=0;i<N;i++)
{
s=0.0;
for(j=0;j<4;j++)
s+=stu[i].score[j];
stu[i].sum=s;
}
/*排序*/
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(stu[i].sum<stu[j].sum)
{
p=stu[i];
stu[i]=stu[j];
stu[j]=p;
}
/*輸入*/
for(i=0;i<N;i++)
{
printf("%s\t",stu[i].name);
for(j=0;j<4;j++)
printf("%f\t",stu[i].score[j]);
printf("%f\n",stu[i].sum);
}
}
備註:為編譯