本帖最後由 tonyh 於 2014-6-14 16:33 編輯
假設班上有五位同學, 其成績表格如下,
試利用氣泡排序法, 為成績表加上排名,
執行畫面如下.
- #include<iostream>
- #include<cstdlib>
- using namespace std;
- int main()
- {
- int tmp;
- string tmp2;
- string name[5]={"大雄","小叮噹","宜靜","技安","阿福"};
- int score[5]={60,80,100,40,75};
- cout<<"原始資料"<<endl;
- cout<<"-------------"<<endl;
- cout<<"姓名\t成績"<<endl;
- cout<<"-------------"<<endl;
- for(int i=0; i<5; i++)
- cout<<name[i]<<"\t"<<score[i]<<endl;
- cout<<endl;
- for(int i=0; i<4; i++)
- {
- for(int j=i+1; j<5; j++)
- {
- if(score[j]>score[i])
- {
- tmp=score[i];
- score[i]=score[j];
- score[j]=tmp;
- tmp2=name[i];
- name[i]=name[j];
- name[j]=tmp2;
- }
- }
- }
- cout<<"依成績排序後資料"<<endl;
- cout<<"---------------------"<<endl;
- cout<<"姓名\t成績\t排名"<<endl;
- cout<<"---------------------"<<endl;
- for(int i=0; i<5; i++)
- cout<<name[i]<<"\t"<<score[i]<<"\t"<<i+1<<endl;
- cout<<endl;
- system("pause");
- return 0;
- }
複製代碼 |