回复 楼主 唏嘘草
#include<stdio.h>int main()
{
int s[100];//声明评分数组
int i,j; //声明循环变量i,j
int m,n;//声明变量 m:评委的人数,
int max=s[0]; //这部貌似有点问题int min=s[0];
float sum;
float ave;
int a[100];
float b[100];
//输入m的值
printf("请输入评委人数(最少4人):");
scanf("%d",&m);
while(m<4)
{printf("请输入正确的评委数:");
scanf("%d",&m);
}
//输入n的值
printf("请输入学生数(最少5人):");
scanf("%d",&n);
while(n<5)
{printf("请输入正确的学生数:");
scanf("%d",&n);
}
for(j=1;j<=n;j++)
{//输入各评委的打分
printf("输入各评委给第%d个学生的打分:",j); //应该内嵌的for循环
for(i=0;i<m;i++)
{
scanf("%d",&s[i]);
}
}
//求出个评委所打分的最高分和最低分
for(i=0;i<m;i++)
{if(s[i]>max)max=s[i]; //max没赋初值
if(s[i]<min)min=s[i]; //min没赋初值
}
//后面你的还没看
//计算选手得分
for(i=0;i<m;i++)
sum=0;
sum=sum+s[i];
sum=sum-max-min;
ave=sum/(n-2);
//输出选手得分并记录
printf("第%d个学生的分数:%.2f\n",j,ave);
a[j]=j;//记录号数
b[j]=ave;//记录分数
}
//下面这部分进行排名
int k;
float t;
for(j=1;j<=n;j++)
{ for(k=1;k<=n-1;k++)
if(b[j]<b[k+1]){t=b[j]; b[j]=b[k+1];b[k+1]=t;a[j]=k+1;
printf("第%d名%d号%.2f",j,a[j],b[j]);
}
}
return 0;
}
菜鸟一名,准备起飞