1185:单词排序
【题目描述】
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)
【输入】
一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。数据不含除字母、空格外的其他字符。
【输出】
按字典序输出这些单词,重复的单词只输出一次。
【输入样例】
She wants to go to Peking University to study Chinese
【输出样例】
Chinese
Peking
She
University
go
study
to
wants
#include<bits/stdc++.h> using namespace std; char s2[50]; int main() { char s1[100][50]; int i,j,k; i=0; scanf("%s",s1[0]);//先输入一个字符串 i++; while(scanf("%s",s1[i])!=EOF) { for(j=0;j<i;j++) if((strcmp(s1[j],s1[i])==0))//每次输入一个字符串,判断有相同的吗 i--; i++; } for(j=0;j<i-1;j++)//排序 for(k=j+1;k<i;k++) if(strcmp(s1[j] ,s1[k])>0) { strcpy(s2,s1[j]); strcpy(s1[j],s1[k]); strcpy(s1[k],s2); } for(j=0;j<i;j++) printf("%s\n",s1[j]); return 0; }