各科目の平均成績と、3科目の総得点が最も高い学生のデータ(学号、名前、3科目の成績、3科目の総得点を含む)を印刷することを要求します.
1279 ワード
/** , **/
#include
#include
struct stu
{
char name[11];
char num[11];
int gra1, gra2, gra3;
int sum1;
};
struct stu p[51];
struct stu t;
int main(void)
{
int i;
int n;
int j;
double ex1, ex2, ex3;
printf("Input n
");
scanf("%d", &n);
for(i = 0; i < n; i++)
{
p[i].sum1 = 0;
scanf("%s %s %d %d %d", p[i].num, p[i].name, &p[i].gra1, &p[i].gra2, &p[i].gra3);
}
ex1 = 0;
ex2 = 0;
ex3 = 0;
for(i = 0; i < n; i++)
{
ex1 += p[i].gra1;
ex2 += p[i].gra2;
ex3 += p[i].gra3;
}
ex1 /= n;
ex2 /= n;
ex3 /= n;
for(i = 0; i < n; i++)
{
p[i].sum1 += (p[i].gra1 + p[i].gra2 + p[i].gra3);
}
for(i = 0; i < n - 1; i++)
{
for(j = 0; j < n - 1 - i; j++)
{
if(p[j].sum1 < p[j + 1].sum1)
{
t = p[j];
p[j] = p[j + 1];
p[j + 1] = t;
}
}
}
for(i = 0; i < n; i++)
{
printf("%s %s %d %d %d %d", p[i].num, p[i].name, p[i].gra1, p[i].gra2, p[i].gra3, p[i].sum1);
}
return 0;
}