Board logo

標題: [隨堂練習]排序 (三) [打印本頁]

作者: 陳品肇    時間: 2019-5-25 13:14     標題: [隨堂練習]排序 (三)

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

假設班上有五位同學, 其成績表格如下,
試利用氣泡排序法, 為成績表加上排名,
執行畫面如下.
[attach]6567[/attach]
  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. }
複製代碼

作者: 吳孟書    時間: 2019-5-25 14:05

此帖僅作者可見
作者: 吳孟修    時間: 2019-5-25 14:08

此帖僅作者可見
作者: 曲書辰    時間: 2019-5-25 14:09

此帖僅作者可見
作者: 湯郡一    時間: 2019-5-25 14:14

此帖僅作者可見
作者: 洪寬瀧    時間: 2019-5-25 14:19

此帖僅作者可見
作者: 王瑞喻    時間: 2019-5-25 14:28

此帖僅作者可見




歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2