作业帮 > 综合 > 作业

杭电acm 2072 求错在哪里了.输出来时全是1.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 04:46:42
杭电acm 2072 求错在哪里了.输出来时全是1.
单词数
Problem Description
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题.
Input
有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束.
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数.
Sample Input
you are my friend
#
Sample Output
4
#include "stdio.h"
#include "string.h"
int main()
{
\x05char str[100];
\x05int i,word=0,l;
\x05while (scanf("%s",str)!=EOF)
\x05{
\x05\x05if (str[0]=='#')
\x05\x05\x05break;
\x05\x05word=0;
\x05\x05l=strlen(str);
\x05\x05if ((str[0]>='a' && str[0]='A' && str[0]
%s 遇到空格就over 所以你每次输入其实都只有一个单词就结束了,当然每次输出都是1
你可以考虑用 while(gets(str)!=NULL) 来试试
另外这道题.即使你改了错误还是A不了的,因为要求的是不同的单词数,而你求的是所有的单词数,这里面是有区别的
你可以开一个二维数组,把每个单词都存进去,每次获得一个新单词时,往前比较,看看是否有出现过,若没有才word++;
AC的代码,我有,但是先不贴出来,acm 的代码自己实现比较好
如果有需要,你可以追问,我把AC的代码给你作参考
希望对你有帮助,加油acmer!