结构体排序
来源:互联网 发布:宁波行知实验小学如何 编辑:程序博客网 时间:2024/05/17 22:35
定义学生信息结构体和结构体数组,包括学号、两门百分制成绩和姓名;键盘输入
学生不多于 30 人的信息,以输入成绩为负数或大于 100 作为输入结束;按照学号和平均成绩排序,并输出学生信息
//输入学生分数信息,学号排序和平均分排序后输出#include <stdio.h>struct student{ long num; char name[20]; float score[2]; float aver;}stu[],temp;int main(void){ int i,j,k,n; printf("Enter score1 score2 num name\n"); for(i=0;;i++){//当输入的分数1小于0或大于100时结束输入 scanf("%f %f %ld %s",&stu[i].score[0],&stu[i].score[1],&stu[i].num,stu[i].name); if(stu[i].score[0]<0 || stu[i].score[0]>100) break; stu[i].aver=(stu[i].score[0] + stu[i].score[1]) / 2.0; } for(j=1;j<i-1;j++){ //学号冒泡法排序 for(k=0;k<i-j;k++){ if(stu[k].num > stu[k+1].num){ temp=stu[k]; stu[k]=stu[k+1]; stu[k+1]=temp; } } } printf("after num\n"); //输出 printf("num\tname\t\t\tscore1\tscore\taver\n"); for(n=0;n<i;n++) printf("%ld\t%s\t%.1f\t\t%.1f\t\t%.1f\n",stu[n].num, stu[n].name, stu[n].score[0], stu[n].score[1],stu[n].aver); for(j=1;j<i-1;j++){ //平均分冒泡法排序 for(k=0;k<i-j;k++){ if(stu[k].aver > stu[k+1].aver){ temp=stu[k]; stu[k]=stu[k+1]; stu[k+1]=temp; } } } printf("after aver\n"); printf("num\tname\t\tscore1\tscore\taver\n"); for(n=i-1;n>=0;n--) printf("%ld\t%s\t%.1f\t\t%.1f\t\t%.1f\n",stu[n].num, stu[n].name, stu[n].score[0], stu[n].score[1],stu[n].aver); return 0;}
2 0
- 结构体排序,多级排序
- 结构体成员排序
- 结构体数组排序
- 结构体排序
- 结构体学号排序
- 结构体数组排序
- HDU1031结构体排序
- qsort 排序结构体
- 结构体排序
- 结构体数组排序
- 结构体来排序
- Hduoj1070!【结构体排序】
- 结构体排序
- 结构体-heap排序
- 结构体排序-c++
- 结构体排序
- 结构体排序
- c++ 结构体排序
- 实现action
- Swift 学习笔记 - 类型转换
- IOS开发之使用NSUserDefault记住用户名密码
- 前后端分离,即后端一个工程,前段一个工程,这种开发模式,专业术语叫什么?
- linux-其他用户工具命令
- 结构体排序
- 如何设置一个严格30分钟过期的Session
- iOS中用预编译命令判断是否真机
- JS中关于clientWidth offsetWidth scrollWidth 等的含义
- ExecutorService线程使用
- 1009. 说反话
- iPhone 5 关于 NSIndexPath 的 bug
- leetcode_230. Kth Smallest Element in a BST 求二叉搜索树中的第k小的元素,中序遍历法
- Xcode编译报错library not found for -lAFNetworking