定义函数处理结构体数组,按成绩从高到低降序排列。
函数接口定义:
struct stu { int num; char name[20]; int score; }; void fun ( struct stu *p, int n );
p是结构体数组的起始地址,n是结构体单元个数。
结构体成员:num是学号,name是姓名,score是成绩。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如: #include <stdio.h> struct stu{ int num; char name[20]; int score; }; void fun( struct stu *p, int n ); int main() { struct stu a[10]; int n, i; scanf("%d", &n); for(i = 0; i < n; i++){ scanf("%d%s%d", &a[i].num, a[i].name, &a[i].score); } fun(a,n); for(i = 0; i < n; i++) printf("%d %s %d\n", a[i].num, a[i].name, a[i].score); return 0; } /* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
6
1001 anny 85
1002 boy 75
1003 car 65
1004 dan 55
1005 emm 95
1006 pa 35
输出样例:
在这里给出相应的输出。例如:
1005 emm 95
1001 anny 85
1002 boy 75
1003 car 65
1004 dan 55
1006 pa 35
void fun ( struct stu *p, int n ){
int i;
int j;
//冒泡排序实现成绩从高到低排序
for(i = 0;i < n; i++){
for(j = 0;j < n - i; j++){
if( p[j+1].score > p[j].score){
struct stu temp;
temp = p[j];
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
}