2072

来源:互联网 发布:叶子老师沪江辞职知乎 编辑:程序博客网 时间:2024/05/01 15:36

单词数

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


Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数。下面你的任务是帮助xiaoou333解决这个问题。
 

Input
有多组数据,每组一行,每组就是一篇小文章。每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束。
 

Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数。
 

Sample Input
you are my friend#
 

Sample Output
4
 

Author
Lily
 

Source
浙江工业大学网络选拔赛
 

Recommend
linle   |   We have carefully selected several similar problems for you:  2074 2054 2052 1251 2058 

View Code

Problem : 2072 ( 单词数 )     Judge Status : Accepted
RunId : 20163317    Language : C++    Author : 837274600
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>void Copy(char w[], char s[], int a, int b){    int i;    if (b >= a)    {        for (i = 0; i <= b - a; i++)            w[i] = s[a + i];        w[i] = '\0';    }}int main(){    char s[500];    while (gets_s(s) && s[0] != '#')    {        int len = strlen(s), i, j, n = 0, sum = 0, a, b;        char temp[20], w[100][20];        a = b = -1;        for (i = 0; i < len; i++)        {            if (s[i] == ' '&&a < 0)                continue;            if (s[i] != ' '&&a < 0)                a = i;            if (s[i] == ' '&&a >= 0)            {                b = i - 1;                Copy(temp, s, a, b);                for (j = 0; j < n; j++)                {                    if (!strcmp(temp, w[j]))                        break;                }                if (j == n)                {                    Copy(w[n++], s, a, b);                    sum++;                }                a = b = -1;            }            if (s[i + 1] == '\0'&&a >= 0)            {                b = i;                Copy(temp, s, a, b);                for (j = 0; j < n; j++)                {                    if (!strcmp(temp, w[j]))                        break;                }                if (j == n)                {                    Copy(w[n++], s, a, b);                    sum++;                }                a = b = -1;            }        }        printf("%d\n", sum);    }    return 0;}
0 0
原创粉丝点击