判断数字,小写字母,大写字母,要分别用小括号括起来。
(1)for循环不能用i<99,应该用str[i]!=0
(2)if中的条件,用||分隔的三个,需要用()括起来, if( (条件1) || (条件2) || (条件3) )
(3)统计单词一般用空格来分隔,当前一个字符是空格,且当前字符不是空格时,单词数目+1
字符串里会出现@#等符号这个说明,这些字符算在单词里吗?
代码改成下面的试试:
#include <stdio.h>
int main()
{
char str[100];
int i,cnt=0,flag=1;
gets(str);
for (i=0;str[i]!='\0';i++)
{
if((str[i]>='0' && str[i]<='9')||(str[i]>='a' && str[i]<='z')||(str[i]>='A' && str[i]<='Z'))
{
if(flag == 1)
{
cnt++;
flag = 0;
}
}else
flag = 1;
}
printf("%d",cnt); //这里是cnt
return 0;
}