NOI / 1.10编程基础之简单排序 10:单词排序 c++(简单)

描述

输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)

输入

一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。数据不含除字母、空格外的其他字符。

输出

按字典序输出这些单词,重复的单词只输出一次。

样例输入

She  wants  to go to Peking University to study  Chinese

样例输出

Chinese
Peking
She
University
go
study
to
wants
#include  // 万能头文件,包含C++标准库的所有头文件
using namespace std; // 使用标准命名空间

int main() {
    int c = 0; // 计数器,用于记录输入的字符串个数
    string s[101]; // 字符串数组,存储输入的字符串

    // 循环输入字符串数组s,直到遇到空字符串为止
    for (; cin >> s[c]; c++);

    // 对字符串数组s进行冒泡排序,按照字典序从小到大排序
    for (int i = 0; i < c - 1; i++)
        for (int j = i + 1; j < c; j++)
            if (s[i] > s[j]) // 如果前一个字符串大于后一个字符串
                swap(s[i], s[j]); // 交换两个字符串的位置

    // 输出排序后的第一个字符串
    cout << s[0] << endl;

    // 输出排序后的剩余字符串(不包括第一个字符串)
    for (int i = 0; i < c - 1; i++)
        if (s[i] != s[i + 1]) // 如果当前字符串与下一个字符串不相等
            cout << s[i + 1] << endl; // 输出下一个字符串

    return 0; // 程序正常结束
}

你可能感兴趣的:(c++,java,数据结构)