3条回答 默认 最新
- 往事如风,闲云野鹤 2021-06-08 08:39关注
#include "stdio.h" #define N 2 struct student{ int stuNo; char stuName[20]; float kq; float ktbx; float pszy; float ktbj; float score; float total; }stu[N]; int main(){ //输入成绩 for(int i=0;i<N;i++){ printf("请输入第%d个同学的学号、姓名、考勤、课堂表现、平时作业、课堂笔记、末考成绩(空格隔开)\n",i+1); scanf("%d %s %f %f %f %f %f",&stu[i].stuNo,stu[i].stuName,&stu[i].kq,&stu[i].ktbx,&stu[i].pszy,&stu[i].ktbj,&stu[i].score); stu[i].total=(stu[i].kq*0.3+stu[i].ktbx*0.3+stu[i].pszy*0.3+stu[i].ktbj*0.1)*0.3+stu[i].score*0.7; } //排序 for(int i = 0; i < N - 1; i++) { for(int j = 0; j < N - 1 - i; j++) { // 相邻元素两两对比 if(stu[j].total < stu[j+1].total) { struct student temp; //元素交换 temp = stu[j+1]; stu[j+1] = stu[j]; stu[j] = temp; } } } printf("学号\t姓名\t总分\n"); for(int i=0;i<N;i++){ printf("%d\t%s\t%.2f\n",stu[i].stuNo,stu[i].stuName,stu[i].total); } return 0; }
代码如上,万望采纳。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看