第二周上机实践项目——有序的结构体数组
来源:互联网 发布:js继承的作用 编辑:程序博客网 时间:2024/06/03 07:26
/* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 *All rights reserved. *文件名称:学生成绩统计 *作者:刘中林 *完成日期:2013年 03月05日 *版本号:v0.1 *对任务及求解方法的描述部分:题意 *输入描述:给定 *问题描述: 计算、排序 *程序输出:处理过后的成绩单、优秀生姓名 *问题分析:Student t; t=stu[i]; *算法设计:冒泡等 *我的程序:*/#include <iostream>#include <string.h>using namespace std;struct Student{ char num[13]; char name[10]; int cpp; int math; int english; int grade; double average;};void calculate(Student s[],int n); //计算总分和均分,数据在s数组中,共有n个元素void sort1(Student [],int); //按总分降序排序void sort2(Student [],int); //按学号升序排序void output(Student [],int); //输出成绩单void outputExcellent(Student [],int); //输出优秀者:总分超285,单科不低于90int main(){ Student stu[]= {{"201152501104","Tom",65,69 ,68 }, {"201152501114","Jeery",94 ,89 ,63 }, {"201152501138","Speike",67 ,62 ,84 }, {"201152501204","Tyke",100 ,95 ,91 }, {"201152501202","Tuffy",59 ,80 ,55 }, {"201152501115","Butch",100 ,99 ,89 }, {"201152501201","Lightning",95 ,92 ,99 }, {"201152501145","Topsy",88 ,56 ,67 }, {"201152501203","Droopy",62 ,62 ,95 }, {"201152501140","Drupa",80 ,60 ,86 }, {"201152501205","Buzz",73 ,90 ,94} }; int stuNum=sizeof(stu)/sizeof(stu[0]); //用sizeof运算确定数组中元素个数 //计算总分和均分后输出 calculate(stu,stuNum); cout<<"下面是成绩单:"<<endl; output(stu,stuNum); cout<<"优秀者名单:"<<endl; outputExcellent(stu,stuNum); //按总分降序排序后输出 sort1(stu,stuNum); cout<<"按总分降序排序后:"<<endl; output(stu,stuNum); //按学号升序排序后输出 sort2(stu,stuNum); cout<<"按学号升序排序后:"<<endl; output(stu,stuNum); return 0;}void calculate(Student s[],int n){ for(int i=0; i<n; i++) { s[i].grade=s[i].cpp+s[i].english+s[i].math; s[i].average=(s[i].grade)/3; }}void sort1(Student stu[],int n){ int i,j; Student t; for(j=0; j<n-1; j++) for(i=0; i<n-j-1; i++) { if (stu[i].grade<stu[i+1].grade) { t=stu[i]; stu[i]=stu[i+1]; stu[i+1]=t; } } return;}void sort2(Student stu[],int n){ int i,j,k; Student t; for(i=0; i<n-1; i++) { k=i; for(j=i+1; j<n; j++) if(strcmp(stu[j].num,stu[k].num)<0) k=j; t=stu[k]; stu[k]=stu[i]; stu[i]=t; } return;}void outputExcellent(Student stu[],int n){ for(int i=0; i<n; i++) { if(stu[i].grade>285&&(stu[i].cpp>=90)&&(stu[i].math>=90)&&(stu[i].english>90)) { cout<<stu[i].name<<endl; } }}void output(Student s[],int n){ cout<<"学号"<<" "<<"姓名"<<" "<<"c++成绩"<<" "<<"数学成绩"<<" "<<"英语成绩"<<" "<<"总分"<<" "<<"平均分"<<endl; for(int i=0; i<n; i++) { cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].cpp<<" "<<s[i].math<<" "<<s[i].english<<" "<<s[i].grade<<" "<<s[i].average<<endl; }}
*样例输出:
*心得体会:说到底、学生就应该把习学好、加倍努力咯、同志们、c++不是全部没它不行啊!!
0 0
- 第二周上机实践项目——有序的结构体数组
- 2013第二周上机任务项目一(有序的结构体数组)
- 第二周上机任务项目1--有序的结构体数组
- 第二周上机任务项目1-有序的结构体数组
- 大二下学期第二周项目1————有序的结构体数组
- 第二周(项目二)——有序的结构体数组。
- 第二周项目一:有序的结构体数组
- 第二周 项目一:有序的结构体数组
- 第二周项目1 有序的结构体数组
- 第二周项目2-有序的结构体数组
- 第二周 项目2 有序的结构体数组
- 第二周项目二-有序的结构体数组
- 第二周项目2-有序的结构体数组
- 第二周项目2-有序的结构体数组
- 第二周项目2-有序的结构体数组
- 第二周 项目二 有序的结构体数组
- 补 第二周 项目2- 有序的结构体数组.
- 第二周——有序的结构体数组
- HDOJ 4049 Tourism Planning(状态压缩DP)
- Android 打开另外一个应用的activity
- Linux学习笔记十三:LVM_Reduce_Extend
- 约瑟夫问题(Josephus_problem) 终极解析
- Delaunay三角剖分算法
- 第二周上机实践项目——有序的结构体数组
- 在那薪火点燃的地方
- HttpWatch工具简介及使用技巧
- java日期操作
- hdu1213(并查集)
- c++继承中的内存布局
- 实例化spring IoC容器
- int main(argc,char *argv[])的含义
- Maven pom.xml