已知学生的记录由学号和成绩组成。N名学生的数据已在主函数中放入结构体中输出S中。请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前
2条回答 默认 最新
- fuill 2022-01-13 23:47关注
结构体排序比较结构体元素交换结构体
#include<stdio.h> struct stu { int num; int score; }; void fun(struct stu t[],int n) { int j,k; for(k=0; k<n-1; k++) { for(j=0; j<n-k-1; j++) { if(t[j].score<t[j+1].score) { struct stu tem=t[j]; t[j]=t[j+1]; t[j+1]=tem; } } } } int main() { struct stu t[5]= {1,56,2,66,3,45,4,68,5,60}; int j; for(j=0; j<5; j++) { printf("学号:%d 分数:%d \n",t[j].num,t[j].score); } fun(t,5); printf("排序后\n"); for(j=0; j<5; j++) { printf("学号:%d 分数:%d \n",t[j].num,t[j].score); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 2
悬赏问题
- ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 linux驱动,linux应用,多线程
- ¥20 我要一个分身加定位两个功能的安卓app
- ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
- ¥15 IAR程序莫名变量多重定义
- ¥15 (标签-UDP|关键词-client)
- ¥15 关于库卡officelite无法与虚拟机通讯的问题
- ¥15 目标检测项目无法读取视频
- ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析