這道題就是給定一個英文句子,把里面的單詞按字典序排序,還要去重。排序,我選擇冒泡排序,去重,我用C++自帶的unique函數,它會返回去重后數組最后一個不重復的數的下標,使用前提是必須排序。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string s[105], a;
int n = 0;//一定要賦初值,否則“稻花香里說豐年,聽取WA聲一片”
while (cin >> a)//一個一個讀入單詞,再放進s里
s[++ n] = a;
for (int i = 1; i < n; i ++)
for (int j = 1; j <= n - i; j ++)
if (s[j] > s[j + 1])
swap(s[j], s[j + 1]);//冒泡排序
n = unique(s + 1, s + 1 + n) - (s + 1);//去重
for (int i = 1; i <= n; i ++)
cout << s[i] << endl;//最后輸出答案
//getchar();getchar();
return 0;
}
Be will and be good!