0
点赞
收藏
分享

微信扫一扫

6-3 结构体-成绩单排序

独兜曲 2022-05-04 阅读 116

定义函数处理结构体数组,按成绩从高到低降序排列。

函数接口定义:

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[20];
    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;
            }
        }
    }
}

 

 

 

举报

相关推荐

0 条评论