#include<stdio.h>
struct grade
{
char name[10];
int yu;
int shu;
int ying;
int sum;
};
int main()
{
int n;
while (scanf_s("%d", &n) == 1)
{
struct grade list[105];
for (int i = 0; i < n; i++)
{
scanf_s("%s %d %d %d", list[i].name, &list[i].yu, &list[i].shu, &list[i].ying);
list[i].sum = list[i].yu + list[i].shu + list[i].ying;
}
struct grade m;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (list[i].sum < list[j].sum)
m= list[i];
list[i]= list[j];
list[j]= m;
}
}
for (int i = 0; i < 3; i++)
{
printf("%s %d\n",list[i].name,list[i].sum);
}
printf("\n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (list[i].yu < list[j].yu)
m = list[i];
list[i] = list[j];
list[j] = m;
}
}
for (int i = 0; i < 3; i++)
{
printf("%s %d\n", list[i].name, list[i].yu);
}
printf("\n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (list[i].shu < list[j].shu)
m = list[i];
list[i] = list[j];
list[j] = m;
}
}
for (int i = 0; i < 3; i++)
{
printf("%s %d\n", list[i].name, list[i].shu);
}
printf("\n");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (list[i].ying < list[j].ying)
m = list[i];
list[i] = list[j];
list[j] = m;
}
}
for (int i = 0; i < 3; i++)
{
printf("%s %d\n", list[i].name, list[i].ying);
}
printf("\n");
}
}
输出全都是0
想知道哪里出了问题?
scanf_s("%s %d %d %d", list[i].name,20, &list[i].yu, &list[i].shu, &list[i].ying);