水题:判断单词有几个
刚开始没仔细想 仅仅判断了空格和空格的个数+1就是单词的个数,后来wa后仔细读读,他说连续的字母是一个单词所以abc!abc这就是两个单词了,还有uva不支持子啊循环中定义变量
#include<stdio.h>
char
str[
500
];
int
Find(
int
t)
{
int
i;
for
(i=t;str[i];i++
)
{
if
((str[i]>=
'
A
'
&& str[i]<=
'
Z
'
) || (str[i]>=
'
a
'
&& str[i]<=
'
z
'
))
continue
;
return
i;
}
return
i;
}
int
main()
{
int
i;
while
(gets(str)!=
NULL)
{
int
ans=
0
;
for
(i=
0
;str[i];)
{
if
((str[i]>=
'
a
'
&& str[i]<=
'
z
'
) || (str[i]>=
'
A
'
&& str[i]<=
'
Z
'
) )
{
int
t=
Find(i);
ans
++
;
i
=
t;
}
else
i++
;
}
printf(
"
%d\n
"
,ans);
}
return
0
;
}

