zoukankan      html  css  js  c++  java
  • UVA10815 Andy's First Dictionary

    问题链接UVA10815 Andy's First Dictionary

    题意简述:输入一个文本文件,从中提取出字典,重复的单词被去掉。

    问题分析:用C++语言编写程序,可以练习使用STL的功能。另外一点,C++编写程序效率会更高。使用STL容器类的set,可以方便地去重复,而且还会自动排序。

    程序说明:使用C语言的库函数strtok()来切割单词,并且用空格' '作为分隔符。这是一种简便的做法。

    另外一种切割字符串的方法是,使用STL的字符串流(sstream)实现。


    AC的C++程序如下:

    /* UVA10815 Andy's First Dictionary */
    
    #include <iostream>
    #include <cstring>
    #include <set>
    
    using namespace std;
    
    #define MAXN 512
    
    set<string> dict;
    
    int main()
    {
        char s[MAXN], delim[] = " ", *p;
    
        while(cin >> s) {
            p = s;
            while(*p) {
                if(isalpha(*p))
                    *p = tolower(*p);
                else
                    *p= ' ';
                p++;
            }
    
            p = strtok(s, delim);
            while(p) {
                 dict.insert(p);
                 p = strtok(NULL, delim);
            }
        }
    
        for(set<string>::iterator iter =dict.begin(); iter != dict.end(); iter++)
            cout << *iter << "
    ";
    
        return 0;
    }


  • 相关阅读:
    乘法逆元
    P1082 同余方程
    数论编程
    倍增LCA模板
    快速幂模板Super
    黑白染色的模板
    暑假提高组集训Day1 T2
    暑假提高组集训Day1 T1
    7月18日刷题记录 二分答案跳石头游戏Getting
    hdu4738(割桥)
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564483.html
Copyright © 2011-2022 走看看