返回列表 發帖

[隨堂練習]排序 (三)

本帖最後由 陳品肇 於 2019-5-25 14:01 編輯

假設班上有五位同學, 其成績表格如下,
試利用氣泡排序法, 為成績表加上排名,
執行畫面如下.
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string name[5]={"大熊","小叮噹","宜靜","技安","阿福"};
  7.     int score[5] = {60,80,100,40,75};
  8.     int tmp;
  9.     string tmp2;
  10.    
  11.     cout<<"原始資料"<<endl;
  12.     cout<<"-----------"<<endl;
  13.     cout<<"姓名\t成績"<<endl;
  14.     cout<<"-----------"<<endl;
  15.     for(int i=0;i<5;i++)
  16.     {
  17.        cout<<name[i]<<"\t"<<score[i]<<endl;
  18.     }
  19.    
  20.    
  21.     for(int i=0;i<4;i++)
  22.     {
  23.         for(int j=i+1;j<5;j++)
  24.         {
  25.                 if(score[i]<score[j])
  26.                 {
  27.                                      //成績交換
  28.                     tmp = score[i];
  29.                     score[i] = score[j];
  30.                     score[j] = tmp;
  31.                                      //姓名交換
  32.                     tmp2 = name[i];
  33.                     name[i] = name[j];
  34.                     name[j] = tmp2;   
  35.                 }
  36.         }
  37.     }
  38.   
  39.     cout<<endl;
  40.     cout<<"依成績排序資料"<<endl;
  41.     cout<<"-----------"<<endl;
  42.     cout<<"姓名\t成績\t排名"<<endl;
  43.     cout<<"-----------"<<endl;
  44.     for(int i=0;i<5;i++)
  45.     {
  46.        cout<<name[i]<<"\t"<<score[i]<<"\t"<<i+1<<endl;
  47.     }
  48.    
  49.   
  50.     system("pause");
  51.     return 0;   
  52. }
複製代碼
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

此帖僅作者可見

TOP

返回列表