1219: 统计字符串的单词个数

Posted ╮*Aldrich☆╮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1219: 统计字符串的单词个数相关的知识,希望对你有一定的参考价值。

题目描述

输入一行字符,统计并输出其中有多少个单词,单词之间用空格分隔。

输入

只有一行,保证只包含可见字符,且此行的所有字符数不超过100。

输出

一个整数,表示输入的一行字符中共有多少个单词。
请注意行尾输出换行。

样例输入

I am a program.

样例输出

4

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<string.h>
 4 using namespace std;
 5 int main(){
 6     char str[110];
 7     while(NULL!=fgets(str,110,stdin)){
 8         int len=strlen(str);
 9         int flag=1,count=0;
10         for(int i=0;i<len-1;i++){
11             if(str[i]!= &&flag==1){
12                 flag=0;
13                 count++;
14             }
15             if(str[i]== &&flag==0){
16                 flag=1;
17             }
18         }
19         printf("%d\n",count);
20     }
21     return 0;
22 }

Mist Note:代码没事多看看,觉得写的还是比较简单的,这里有一个之前没有注意的问题,fgets函数的用法。

fgets只能读取N-1个字符,包括最后的‘\n‘,读完结束后系统将自动在最后加‘\0‘(gets读完结束后系统自动会将‘\n‘置换成‘\0‘)。

说到这里就有俩种情况了:

一:当你从键盘上输入<=N-1个字符(包括‘\n‘)时,那么字符串str会以‘\n\0’结尾。这就造成了strlen(str)比你想象的大 1 ,
当然你可以通过下面代码将‘\n‘去掉。
1  if(str[strlen(str) - 1] == \n) {      // 去掉换行符
2      str[strlen(str) - 1] = \0;   
3  }

二:当你从键盘上输入>N-1个字符(包括‘\n‘)时,那么字符串str会以‘\0‘结尾。

 

以上是关于1219: 统计字符串的单词个数的主要内容,如果未能解决你的问题,请参考以下文章

python统计单词中字母个数

输入一个字符串,统计其中包含的单词个数,假设单词与单词之间用空格分隔。

输入一个字符串,统计其中单词的个数

JAVA实验--统计文章中单词的个数并排序

c语言中,输入n行字符,统计其中有多少个单词,单词之间用空格分隔开?

python,字符串怎么统计单词个数