问题标题:
杭电acm2072求错在哪里了.输出来时全是1.单词数ProblemDescriptionlily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333
问题描述:
杭电acm2072求错在哪里了.输出来时全是1.
单词数
ProblemDescription
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题.
Input
有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束.
Output
每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数.
SampleInput
youaremyfriend
#
SampleOutput
4
#include"stdio.h"
#include"string.h"
intmain()
{
x05charstr[100];
x05inti,word=0,l;
x05while(scanf("%s",str)!=EOF)
x05{
x05x05if(str[0]=='#')
x05x05x05break;
x05x05word=0;
x05x05l=strlen(str);
x05x05if((str[0]>='a'&&str[0]='A'&&str[0]
秦学回答:
%s遇到空格就over所以你每次输入其实都只有一个单词就结束了,当然每次输出都是1
你可以考虑用while(gets(str)!=NULL)来试试
另外这道题.即使你改了错误还是A不了的,因为要求的是不同的单词数,而你求的是所有的单词数,这里面是有区别的
你可以开一个二维数组,把每个单词都存进去,每次获得一个新单词时,往前比较,看看是否有出现过,若没有才word++;
AC的代码,我有,但是先不贴出来,acm的代码自己实现比较好
如果有需要,你可以追问,我把AC的代码给你作参考
希望对你有帮助,加油acmer!
点击显示
其它推荐