当前位置: 代码迷 >> 综合 >> 第二周结构体实践项目一程序报告
  详细解决方案

第二周结构体实践项目一程序报告

热度:30   发布时间:2024-01-22 04:45:06.0
/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称:score.cpp                           
* 作    者:李全港                            
* 完成日期:  2013年3  月9   日
* 版本号: v1.0      
* 输入描述:已经在程序中初始化
* 问题描述:将学生成绩信息存储在结构体数组中,对结构体排序并输出
* 输出:按C++降序和按学号升序排序后的学生成绩单
*/
#include <iostream>
using namespace std;
struct Score
{char num[14];int mess;int cpp;int math;int english;
};
void sort1(Score s[],int n);  //要自定义的函数
void sort2(Score s[],int n);
void output(Score s[],int n);
int main()
{Score score[]={
   {"201152501",104,65,69 ,68 },{"201152501",114,94 ,89 ,63 },{"201152501",138,67 ,62 ,84 },{"201152501",204,100 ,65 ,91 },{"201152501",202,59 ,80 ,55 },{"201152501",115,92 ,84 ,60 },{"201152501",201,80 ,92 ,71 },{"201152501",145,88 ,56 ,67 },{"201152501",203,62 ,62 ,95 },{"201152501",140,80 ,60 ,86 },{"201152501",205,73 ,90 ,94}};int stuNum=sizeof(score)/sizeof(score[0]);//将所有同学按C++降序排序后输出sort1(score,stuNum);cout<<"按C++降序排序后:"<<endl;output(score,stuNum);//将所有同学按学号升序排序后输出sort2(score,stuNum);cout<<"按学号升序排序后:"<<endl;output(score,stuNum);return 0;
}
void output(Score s[],int n)
{int i;for(i=0;i<n;i++){cout<<s[i].num<<s[i].mess<<"  "<<s[i].cpp<<"  "<<s[i].math<<"  "<<s[i].english<<endl;}
}
void sort1(Score s[],int n)
{int num,i,j;for(i=0;i<n;i++){for(j=0;j<n;j++){if(s[i].cpp>s[j].cpp){num=s[j].cpp;s[j].cpp=s[i].cpp;s[i].cpp=num;}}}
}
void sort2(Score s[],int n)
{int num,i,j;for(i=0;i<n;i++){for(j=0;j<n;j++){if(s[i].mess<s[j].mess){num=s[i].mess;s[i].mess=s[j].mess;s[j].mess=num;}}}	
}

  相关解决方案