程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 有序的結構體數組

有序的結構體數組

編輯:C++入門知識

[cpp]   /*  * 程序的版權和版本聲明部分  * Copyright (c)2013, 煙台大學計算機學院學生  * All rightsreserved.  * 文件名稱:score.cpp  * 作    者: 邱學偉  * 完成日期:2013  年 3 月  11 日  * 版本號: v1.0  * 輸入描述:已經在程序中初始化  * 問題描述:將學生成績信息存儲在結構體數組中,對結構體排序並輸出  * 輸出:按C++降序和按學號升序排序後的學生成績單  */   #include <iostream>   using namespace std;   struct Score   {       char num[14];       int cpp;       int math;       int english;   };   void sort1(Score [],int);  //要自定義的函數   void sort2(Score [],int);   void output(Score [],int);   int main()   {       Score score[]={{"201152501104",65,69 ,68 },       {"201152501114",94 ,89 ,63 },       {"201152501138",67 ,62 ,84 },       {"201152501204",100 ,65 ,91 },       {"201152501202",59 ,80 ,55 },       {"201152501115",92 ,84 ,60 },       {"201152501201",80 ,92 ,71 },       {"201152501145",88 ,56 ,67 },       {"201152501203",62 ,62 ,95 },       {"201152501140",80 ,60 ,86 },       {"201152501205",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 sort1(Score s[],int n)   {       int i,j;       Score t;       for(i=0;i<n-2;i++)       {           for(j=0;j<n-i-1;j++)           {               if(s[j].cpp<s[j+1].cpp)               {                   t=s[j];                   s[j]=s[j+1];                   s[j+1]=t;               }           }       }       return;   }   void sort2(Score s[],int n)   {       int i,j;       Score t;       for(i=0;i<n-2;i++)       {           for(j=0;j<n-i-1;j++)           {               if(strcmp(s[j].num,s[j+1].num)>0)               {                   t=s[j];                   s[j]=s[j+1];                   s[j+1]=t;               }           }       }       return;   }   void output(Score s[],int n)   {       int i;       for(i=0;i<n;i++)       {           cout<<s[i].num<<" "<<s[i].cpp<<" "<<s[i].math<<" "<<s[i].english<<endl;       }       return;   }  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved