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

按總成績排序

編輯:C++入門知識

[cpp]   */                  * 程序的版權和版本聲明部分                  *Copyright (c)2013, 煙台大學計算機學院學生                  * All rightsreserved.                  *文件名稱: array.cpp                                             * 作    者:楊紹寧                                             * 完成日期: 2012 年3 月12 日                  * 版本號: v1.0                        *                  * 輸入描述:已經在程序初始化中       *問題描述:將學生成績信息存儲在結構體數組中,對結構體並輸出排序        *輸出:按C++降序和按學號升序排列後的學生成績單            */                            #include <fstream>   //操作文件必寫     #include <iostream>   using namespace std;   struct Student   {       char num[300];       char name[300];       int cpp;       int math;       int english;       int score;   };   int main()   {       struct Student student[300];       int num=0,i,j;       Student t[1];        ifstream infile("score.txt",ios::in);       if(!infile){           cout<<"open error"<<endl;           exit(1);       }       while(!infile.eof())//當文件沒有達到結尾的時候,繼續讀入。         {             infile>>student[num].num>>student[num].name>>student[num].cpp>>student[num].math>>student[num].english;             ++num;         }         infile.close();       for(i=0;i<num;i++){           student[i].score=student[i].cpp+student[i].math+student[i].english;       }       for(i=0;i<num;i++){             for(j=0;j<num-i;j++)                 if(student[j].score<student[j+1].score){                         t[0]=student[j];                         student[j]=student[j+1];                         student[j+1]=t[0];                 }         }         for(i=1;i<num;++i){           cout<<student[i].num<<"  "<<student[i].name<<"  "<<student[i].cpp<<"  "<<student[i].math<<"  "<<student[i].english<<"  "<<student[i].score<<endl;       }       return 0;   }                   結果:

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