解题思路:使用C++的sort函数非常方便可以完成。主要是注意排序方法,所以要定义一个cmp函数。
注意事项:
参考代码:
#include <stdio.h> #include <string.h> #include <algorithm> using namespace std; typedef struct { char name[105]; int age; int score; }STU; int cmp(STU s1,STU s2) { if(s1.score!=s2.score) return s1.score<s2.score; if(strcmp(s1.name,s2.name)!=0) return strcmp(s1.name,s2.name)<0; return s1.age<s2.age; } int main() { STU s[1005]; int n,i; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) scanf("%s%d%d",s[i].name,&s[i].age,&s[i].score); sort(s,s+n,cmp); for(i=0;i<n;i++) printf("%s %d %d\n",s[i].name,s[i].age,s[i].score); } return 0; }
0.0分
3 人评分
C二级辅导-公约公倍 (C语言代码)浏览:817 |
上车人数 (C语言代码)浏览:1173 |
简单的a+b (C语言代码)浏览:720 |
Biggest Number (C++代码)回溯法浏览:1612 |
C语言训练-数字母 (C语言代码)浏览:582 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:533 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:470 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:349 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:685 |
简单的a+b (C语言代码)浏览:414 |