設計一個程式,讓使用者任意輸入5個只包含數字的字串,運用自定排序的技巧,讓這些字串依其數字的總合遞增排序。
- #include<iostream>
- #include<cstdlib>
- #include<algorithm>
- using namespace std;
- bool compare(string a, string b)
- {
- int sa=0, la=a.length();
- int sb=0, lb=b.length();
- for(int i=0; i<la; i++)
- sa+=a[i]-'0';
- for(int i=0; i<lb; i++)
- sb+=b[i]-'0';
- return sa<sb;
- }
- int main()
- {
- string n[5]; //宣告一個大小為5的空陣列
- cout<<"請任意輸入5個只包含數字的字串:"<<endl;
- for(int i=0; i<5; i++)
- cin>>n[i];
- sort(n, n+5, compare);
- cout<<"排序結果(依數字的總合):"<<endl;
- for(string s: n)
- cout<<s<<endl;
- system("pause");
- return 0;
- }
複製代碼 |