PTA-统计一行文本的单词个数 (15分)
题目链接(点我)
本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。
输入格式:
输入给出一行字符。
输出格式:
在一行中输出单词个数。
输入样例:
Let's go to room 209.
输出样例:
5
思路(就是统计几个单词的题目,单词是以空格分割的)空格是重点
于是,想到Python强大的字符串处理功能,可以用split()方法消除空格(默认是空格(空格不分长短,是空格直接切开,即当一个空格处理),()内可以是其他你需要分隔的字符)
于是…
Python代码如下:
print(len(list(input().split())))
同时附上高效率的C代码
#include <stdio.h>
#include <string.h>
int is_word(char s)
{
if((s>='a'&&s<='z')||(s>='A'&&s<='Z')||(s>='0'&&s<='9'))
return -1;
else if(s==' ')
return 1;
return 0;
}
int main()
{
char s[10000]={'\0'};
int count=0,i=0;
gets(s);
while(s[i]!='\0')
{
if((s[i]==' '&&is_word(s[i-1])==-1)||(s[i]==' '&&is_word(s[i+1])==-1))
count++;
i++;
}
if(s[--i]=='.')
count++;
printf("%d",count);
return 0;
}