小白鼠排隊
阿新 • • 發佈:2018-12-31
題目描述
N只小白鼠(1 <= N <= 100),每隻鼠頭上戴著一頂有顏色的帽子。現在稱出每隻白鼠的重量,要求按照白鼠重量從大到小的順序輸出它們頭上帽子的顏色。帽子的顏色用“red”,“blue”等字串來表示。不同的小白鼠可以戴相同顏色的帽子。白鼠的重量用整數表示。
輸入描述:
多案例輸入,每個案例的輸入第一行為一個整數N,表示小白鼠的數目。
下面有N行,每行是一隻白鼠的資訊。第一個為不大於100的正整數,表示白鼠的重量,;第二個為字串,表示白鼠的帽子顏色,字串長度不超過10個字元。
注意:白鼠的重量各不相同。
輸出描述:
每個案例按照白鼠的重量從大到小的順序輸出白鼠的帽子顏色。
#include <iostream> #include <string> using namespace std; struct mouse{ int weight; string hat; }; int main() { int n; while(cin >> n){ mouse mouses[n]; for(int i = 0; i < n; i++){ cin >> mouses[i].weight >> mouses[i].hat; } for(int i = 0; i < n - 1; i++) for(int j = 0; j < n - i - 1; j++){ if(mouses[j].weight < mouses[j + 1].weight){ int temp = mouses[j].weight; mouses[j].weight = mouses[j + 1].weight; mouses[j + 1].weight = temp; string str = mouses[j].hat; mouses[j].hat = mouses[j + 1].hat; mouses[j + 1].hat = str; } } for(int i = 0; i < n; i++) cout << mouses[i].hat << endl; } return 0; }