編寫程序,輸入若干個字符串。要求:(1)按字符串長度的大小升序輸出各個字符串。(2)按字符串中字符的ASCLL碼值大小升序輸出各個字符串。
如果按照 1條件優先於2的話,我會這麼寫。。(你作業好多呀)
#include <string>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//比較函數,用於排序
bool compare(string a,string b) {
//長度不一樣的時候采用長度來排序
if (a.length() != b.length()) {
return a.length() < b.length();
}
//長度一樣的時候采用ASCLL值排序
return a < b;
}
int main()
{
vector<string>list;
string inputString;
while (cin>>inputString) {
//結束標志,測試方便,可以注釋掉
if (inputString == "0") {
break;
}
//加入到vector
list.push_back(inputString);
}
//排序,系統方法
sort(list.begin(),list.end(),compare);
//依次輸出
for (int i=0; i<list.size(); i++) {
cout<<list[i]<<endl;
}
return 0;
}