输入一行英文句子,统计其中的单词个数(这里的单词是指有>=1个大小写字母连续出现所组成的子串,非大小写字母出现可认为一个单词结束)。句子长度不超过50。 例如“Hello world!”单词个数为2。
出题人为福州大学至诚学院的老师。
输入格式:
字符串S。(我写的a)
输出格式:
单词的个数。
输入样例:
Hello world!
结尾无空行
输出样例:
2
结尾无空行
我的代码如下,有点长但是可以通用,不论是带符号还是标点还是多个空格都可以使用。
#include<stdio.h>
#include<string.h>
int main()
{
int i,num=0,sign1,sign2;
char a[41];
gets (a);
for(i=0;i<strlen(a);i++)
{
sign1=sign2=0;
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
{
sign1=1;
}
if((a[i+1]>='A'&&a[i+1]<='Z')||(a[i+1]>='a'&&a[i+1]<='z'))
{
sign2=1;
}
if(sign1>sign2)
{
num++;
}
}
printf("%d",num);
return 0;
}