B1004:成绩排名(20')
思路: 用结构体存储。以分数为基准,每次输入数据,更新分数的max和min。
注意:字符串数组大小要大于10,因为最后一位要存'\0',结构体大小要大于100。
代码:
#include<cstdio>
#include<cstring>
struct Student{
char name[11]; //字符串数组大小都要设大于10,存‘\0’
char number[11];
int score;
}Student[10010]; //结构体大小要大于100
int main(){
int n;
char name[11];
char number[11];
int score,max,min;
scanf("%d",&n);
scanf("%s %s %d",&name,&number,&score);
strcpy(Student[score].name,name);
strcpy(Student[score].number,number);
max = score;
min = score;
for(int i = 1;i < n;i ++){
scanf("%s %s %d",&name,&number,&score);
strcpy(Student[score].name,name);
strcpy(Student[score].number,number);
if(score > max) max = score;
if(score < min) min = score;
}
printf("%s %s\n",Student[max].name,Student[max].number);
printf("%s %s\n",Student[min].name,Student[min].number);
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。