供参考:
#include <stdio.h>
#define N 5
struct simulate {
char name[10];
char number[10];
char nationality[10];
float score;
float grade[7];
}sim[5];
int main()
{
int i, j, f;
float x = 0;
float max, min;
struct simulate temp1;
/*********Begin*********/
//录入5位选手信息以及评委评分
for (i = 0; i < 5; i++) {
scanf("%s %s %s", sim[i].name, sim[i].number, sim[i].nationality);
for (j = 0, sim[i].score = 0; j < 7; j++) {
scanf("%f", &sim[i].grade[j]);
if (j == 0 || max < sim[i].grade[j]) max = sim[i].grade[j];
if (j == 0 || min > sim[i].grade[j]) min = sim[i].grade[j];
sim[i].score += sim[i].grade[j];
}
sim[i].score -= max + min;
}
/*********End*********/
/*********Begin*********/
//按照题意计算每位选手最终得分,最后输出前三名选手信息
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4 - i; j++)
{
if (sim[j].score < sim[j + 1].score)
{
temp1 = sim[j];
sim[j] = sim[j + 1];
sim[j + 1] = temp1;
}
}
}
for (i = 0; i < 3; i++)
printf(i ? "\n%d.%s,%s,%s,%.2f" : "%d.%s,%s,%s,%.2f",
i + 1, sim[i].name, sim[i].number, sim[i].nationality, sim[i].score);
/*********End*********/
}