• hdu 2072单词数


    单词数

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 28671    Accepted Submission(s): 6877

    Problem Description
    lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
     
    Input
    有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
     
    Output
    每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
     
    Sample Input
    you are my friend #
     
    Sample Output
    4
     
    #include <stdio.h>
    #include <string>
    #include <set>
    #include <string.h>
    #include <iostream>
    using namespace std;
    int main()
    {
    
        char str[10002];
        while (gets(str))
        {
    
            if (0 == strcmp(str,"#")) break;
            set<string> s;
            string s1= "";
            s.insert(s1);
            for (int i =0 ; str[i] ;)
            {
    
                s1 = "";
                while (str[i]!=' '&&str[i])
                {
                    s1 += str[i];
                    i++;
                }
               
                s.insert(s1);
                while (str[i] == ' ')  i++;
            }
            printf("%d
    ",s.size()-1);
            s.clear();
    
    
        }
    
        return 0;
    }
    View Code

    #include <stdio.h>

    #include <string>

    #include <set>

    #include <string.h>

    #include <iostream>

    using namespace std;

    int main() {

        char str[10002];

        while (gets(str))

        {

            if (0 == strcmp(str,"#"))    break;

            set<string> s;

            string s1= "";

            s.insert(s1);

            for (int i =0 ; str[i] ;)

            {

                s1 = "";    

             while (str[i]!=' '&&str[i])  

                                 {                 s1 += str[i];                 i++;             }  

                          s.insert(s1);  

               while (str[i] == ' ')  i++;                    }    

       

      printf("%d ",s.size()-1);   

          s.clear();

        }

        return 0;

    }

    #include <stdio.h>
    #include <string>
    #include <set>
    #include <string.h>
    #include <iostream>
    using namespace std;
    int main()
    {
    
        char str[10002];
        char str1[10002];
        set<string> s;
        string s1;
        while (gets(str))
        {
            if (0 == strcmp(str,"#")) break;
            while (sscanf(str,"%s",str1)!=EOF)
            {
                s1=str1;
                s.insert(s1);
                int i=0;
                while (str[i]==' '&&str[i]) i++;
                while (str[i]!=' '&&str[i]) str[i++]=' ';
    
            }
    
            printf("%d
    ",s.size());
            s.clear();
        }
    
        return 0;
    }
    View Code

    #include <stdio.h>

    #include <string>

    #include <set>

    #include <string.h>

    #include <iostream>

    using namespace std;

    int main() {

        char str[10002];

        char str1[10002];

        set<string> s;

        string s1;

        while (gets(str))

        {        

    if (0 == strcmp(str,"#")) break;

            while (sscanf(str,"%s",str1)!=EOF)

            {             s1=str1;      

                      s.insert(s1);    

             int i=0;          

       while (str[i]==' '&&str[i])                    i++;    

             while (str[i]!=' '&&str[i])               str[i++]=' ';

            }

            printf("%d ",s.size());  

           s.clear();  

       }

        return 0;

    }

    **************************************************************************************************************8

    思考一下

    #include <stdio.h>
    #include <string>
    #include <set>
    #include <string.h>
    #include <iostream>
    using namespace std;
    int main()
    {
    
        char str[10002];
        char str1[10002];
        set<string> s;
        string s1;
        while (gets(str))
        {
            if (0 == strcmp(str,"#")) break;
            while (sscanf(str,"%s",str1)!=EOF)
            {
                s1=str1;
                s.insert(s1);
        cout<<s1<<endl;
                printf("%s
    ",str);
                system("pause");
                int i=0;
                while (str[i]==' '&&str[i]) i++;
                while (str[i]!=' '&&str[i]) str[i++]=' ';
    
            }
    
            printf("%d
    ",s.size());
            s.clear();
        }
    
        return 0;
    }
    View Code

  • 相关阅读:
    测试方案
    如何编写一个好的测试计划
    一个好的测试过程
    java后台生成echarts图表并保存图片
    Javascript数组排序,并获取排序后位置对应的原索引(堆排序实现)
    修改tomcat编码方式
    json序列化反序列化后function丢失
    Mysql数据库存取性能优化
    java创建文件
    Java POI导出ppt简单实现
  • 原文地址:https://www.cnblogs.com/2014acm/p/3887596.html
Copyright © 2020-2023  润新知