输入一行字符,统计单词个数

原创 2014年11月19日 21:50:56
#include<stdio.h>
int main()
{
	char string[81];
	int i;
	int num=0;//统计单词个数
	int word=0;//word=0表示未出现新单词;Word=1表示出现新单词

	char c;
	gets(string);
	for(i=0;(c=string[i])!='\0';i++)//只要字符不是'\0'就继续执行循环
	{
		if(c==' ')word=0;//如果是空格字符,是word=0
		else if(word==0)//如果不是空格字符且Word原值为0(Word原值为0表示前一个字符是空格)表示新单词出现
		{//word=0表示前一个字符是空格,word=1意味着前一个字符是非空格
			word=1;
			num++;
		}
	}
	printf("总共%d个字符\n",num);
}

法二是借鉴网上的:

输入一个字符串,求它包含多少个单词。单词间以一个或者多个空格分开。
第一个单词前,最后一个单词后也可能有0到多个空格。
比如:" abc    xyz" 包含两个单词,"ab   c   xyz    "  包含3个单词。

如下的程序解决了这个问题,请填写划线部分缺失的代码。

注意:只填写划线部分的代码,不要填写任何多余的内容。比如已经存在的小括号,注释或说明文字等。



#include<stdio.h>

int get_word_num(char* buf)
{
	int n = 0;   
	int tag = 1; 
	char* p = buf;
	
	for(;*p!=0 && *p!=13 && *p!=10;p++){
		if(*p==' ' && tag==0) tag=1;
		if(*p!=' ' && tag==1) { n++; tag=0; }   //填空:*p!=' ' && tag==1
	}
	
	return n;
}

int main()
{
	char buf[1000];
	fgets(buf,1000,stdin);
	
	printf("%d\n", get_word_num(buf));
	return 0;
}


输入一行字符,统计有多少个单词

解题思路: 关键:怎样确定出现一个新单词 方法:从第一个字符逐个进行检查,判断此字符是否为新单词的开头,如果是num+1,最后num的值就是单词总数判断是否出现新单词,可以由是否由空格出现来决定(连续...
  • u012701023
  • u012701023
  • 2015年07月06日 19:09
  • 2204

C语言统计一个字符串中单词的个数

假定每个单词用空格隔开。 例子: 输入:how are you! 输出:3 两种方法: 一: #include #include #define SIZE 20 int m...
  • abc5382334
  • abc5382334
  • 2014年05月24日 01:59
  • 40702

输入一行字符,统计单词个数?(单词:单个字母以上字母的集合)

#include int main() {     char str[100] = {0};     char c = 0;     int i,num = 0,word = 0; ...
  • u011594602
  • u011594602
  • 2013年08月04日 09:38
  • 699

如何统计一行字符中有多少个单词

统计字符串中单词的个数
  • jsqfengbao
  • jsqfengbao
  • 2015年04月15日 19:14
  • 684

字符串分析,分别输出字符串中个单词,并统计出单词个数

  • 2009年10月11日 20:36
  • 539B
  • 下载

有一行字符,统计其中的单词个数(单词之间以空格分隔),并将每一个单词的第一个字母改为大写

#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include void main() ...
  • QQfather
  • QQfather
  • 2014年05月14日 15:26
  • 2086

关于测试单词数目问题(14届蓝桥杯b组第一题)

今天闲来无事,感觉自己又在虚度光阴,于是就打开了14届的蓝桥杯b组赛的第一题,想要刺激刺激自己懈怠的神经,拿到题一看,是一道填空题,只允许在空中添上应该填的那部分代码,不允许多一点改动,看到题,我想杀...
  • f_zyj
  • f_zyj
  • 2015年11月23日 23:19
  • 1424

试编写一个程序,输入一个字符串,统计其中有多少各单词?单词之间用空格分开

试编写一个程序,输入一个字符串,统计其中有多少各单词?单词之间用空格分开。 import java.util.Scanner; public class HelloB { public stat...
  • Qingziyuan
  • Qingziyuan
  • 2016年03月16日 20:17
  • 2573

统计一行文本的单词个数

循环-06. 统计一行文本的单词个数(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B ...
  • NOKIA_LC
  • NOKIA_LC
  • 2015年03月26日 13:06
  • 4364

148 统计一行文本的单词个数

7-148 统计一行文本的单词个数(15 分)本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出...
  • P_in_k
  • P_in_k
  • 2018年02月20日 23:04
  • 40
收藏助手
不良信息举报
您举报文章:输入一行字符,统计单词个数
举报原因:
原因补充:

(最多只允许输入30个字)