A34259. 单词排序输入一行单词序列,相邻单词之间由 1 个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)输入一行单词序列,最少 1 个单词,最多 100 个单词,每个单词长度不超过 50,单词之间用至少 1 个空格间隔。数据不含除字母、空格外的其他字符。输出按字典序输出这些单词,重复的单词只输出一次。输入样例She wants to go to Peking Unive…
填空题
较易
知识点
题目描述
单词排序
输入一行单词序列,相邻单词之间由 1 个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)
输入
一行单词序列,最少 1 个单词,最多 100 个单词,每个单词长度不超过 50,单词之间用至少 1 个空格间隔。数据不含除字母、空格外的其他字符。
输出
按字典序输出这些单词,重复的单词只输出一次。
输入样例
She wants to go to Peking University to study Chinese输出样例
Chinese
Peking
She
University
go
study
to
wants参考答案
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int main() {
//gets(a);//讀字符串,以回車結束讀取 ---》 首字符會自動丟棄
//getline(cin,a);
//compare 比較方法;結果是0:表示相等, 如果是 1:表示第一個值 大於 第二值 , 如果是 -1:表示第一個值 小於 第二值
string a[105];
int n=0;//單詞數量
int tmp=0;//1:表示空格
while((cin>>a[n])){
tmp=0;
//去掉重複單詞
for(int i=0;i<n;i++){
if(a[i].compare(a[n])==0){
tmp=1;
}
}
if(tmp ==0 ){//統計新單詞的數量
n++;
}
//判斷換行
if(getchar()=='\n') {
break;
}
}
sort(a,a+n);
for(int i=0; i<n; i++)
cout<<a[i]<<endl;
return 0;
}
上一题
下一题