单词排序

描述

输入一行单词序列,相邻单词之间由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 <algorithm> 
using namespace std; 

int main()
{ 
 string a[101], s;  
 int n=0; 
while(cin>>s) 
{ 
   a[n++]=s;  
} 
sort(a, a+n); 

cout << a[0] << endl; 
for (int i=1; i<n; i++)
{ 
   if (a[i]!=a[i-1]) 
       cout << a[i] << endl; 
} 
return 0; 
}

  

描述

一个以'.'结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词。

输入一个以'.'结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。输出该句子中最长的单词。如果多于一个,则输出第一个样例输入

I am a student of Peking University.

样例输出

University
#include<iostream>
#include<cstring>
using namespace std;

#define N 500
int main() 
{
    
  char str[N], b[N];
    int   maxlen = 0;
 
    while(cin>>str) 
   {
        int len = strlen(str);
        if(str[len - 1] == '.')
            str[--len] = '\0';
        if(len > maxlen) 
	{
            maxlen = len;
            strcpy(b, str);
        }
    } 
    printf("%s\n", b);

  return 0;
}

  

posted @ 2018-11-21 17:58  道微真理  阅读(2089)  评论(0编辑  收藏  举报