HDU - 单词数
http://acm.hdu.edu.cn/showproblem.php?pid=2072
Time Limit: 1000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件沒有什么意義的事情,就是統(tǒng)計(jì)一篇文章里不同單詞的總數(shù)。下面你的任務(wù)是幫助xiaoou333解決這個(gè)問題。
Input
有多組數(shù)據(jù),每組一行,每組就是一篇小文章。每篇小文章都是由小寫字母和空格組成,沒有標(biāo)點(diǎn)符號,遇到#時(shí)表示輸入結(jié)束。
Output
每組只輸出一個(gè)整數(shù),其單獨(dú)成行,該整數(shù)代表一篇文章里不同單詞的總數(shù)。
Sample Input
you are my friend
#
Sample Output
4
Problem solving report:
Description:?計(jì)算不同單詞的總數(shù)。
Problem solving:?先將文章存入字符串中,然后按順序分離出每個(gè)單詞,判斷單詞是否存入過(即是否出現(xiàn)過),如果沒存入就存下來。最終輸出存入的單詞數(shù)。
#include <stdio.h> #include <string.h> int main() {int len, p, i, j, flag;char s[110000], a[1100][110], b[110];while (gets(s) && s[0] != '#'){j = p = 0;memset(b, 0, sizeof(b));len = strlen(s);while (p < len){sscanf(s + p, "%s", b);for (i = 0; i < j; i++)if (!strcmp(a[i], b))break;if (i == j)strcpy(a[j++], b);for (i = p; s[i] == ' '; i++)p++;p += strlen(b) + 1;}if (!strlen(b))printf("0\n");else printf("%d\n", j);}return 0; }總結(jié)
- 上一篇: PS实现割掉狗熊耳朵流血效果
- 下一篇: 谷歌为何要养苹果的亲儿子Swift?原来