7-3 英文單詞排序(25 分)
阿新 • • 發佈:2019-02-09
本題要求編寫程式,輸入若干英文單詞,對這些單詞按長度從小到大排序後輸出。
如果長度相同,按照輸入的順序不變。
輸入格式:
輸入為若干英文單詞,每行一個,以#作為輸入結束標誌。其中英文單詞總數不超過20個,
英文單詞為長度小於10的僅由小寫英文字母組成的字串。
輸出格式:
輸出為排序後的結果,每個單詞後面都額外輸出一個空格。
輸入樣例:
blue
red
yellow
green
purple
#
輸出樣例:
red blue green yellow purple
#include<iostream> #include<string> #include<string.h> using namespace std; int main() { string str[21]; string A="#"; int a[20],b=0; for(int i=0;i<21;i++) { getline(cin,str[i]); if(str[i]==A) { break; }else{ b=i+1; a[i]=str[i].size(); continue; } } string t; for(int j=0;j<b;j++) { for(int h=1;h<b-j;h++) { if(str[h-1].size()>str[h].size()) { t=str[h-1]; str[h-1]=str[h]; str[h]=t; } } } for(int k=0;k<b;k++) { cout<<str[k]<<" "; } }