64. 学生成绩排序
测试输入
期待的输出
时间限制
内存限制
额外进程
测试用例 1
以文本方式显示
5↵
zhang1,90↵
zhang2,91↵
zhang3,99↵
zhang4,91↵
zhang5,98↵
以文本方式显示
zhang3,99↵
zhang5,98↵
zhang2,91↵
zhang4,91↵
zhang1,90↵
1秒
64M
0
测试用例 2
以文本方式显示
5↵
zhang31,90↵
zhang51,90↵
zhang2,90↵
zhang42,90↵
zhang1,90↵
以文本方式显示
zhang31,90↵
zhang51,90↵
zhang2,90↵
zhang42,90↵
zhang1,90↵
1秒
64M
0
测试用例 3
以文本方式显示
1↵
wang,100↵
以文本方式显示
wang,100↵
1秒
64M
0
【代码】
#include
#include
struct student {
char name[50];
int grade;
};
int main(void)
{
struct student exam[100];
int n;
scanf("%d", &n); getchar();
for (int i = 0; i < n; i++) {
char temp[100];
gets(temp);
char *t = strchr(temp, ',');
*t = ' ';
sscanf(temp, "%s %d", &exam[i].name, &exam[i].grade);
}
for(int i=0;i for(int j=0;j if (exam[j].grade < exam[j + 1].grade) { struct student temp = exam[j]; exam[j] = exam[j + 1]; exam[j + 1] = temp; } for (int i = 0; i < n; i++) printf("%s,%d\n", exam[i].name, exam[i].grade); return 0; }