C语言实现统计一行字符串的单词个数
目录
- 问题简述
- 解题思路
- 程序代码
- 测试结果
问题简述
输入一行字符,统计其中有多少个单词,单词之间用空格分开
输入样例:
I want to be a postgraduate.
输出样例:
There are 6 words in this line.
解题思路
采用空格统计单词的方法:空格出现的次数(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)决定单词个数。
具体做法:
从第一个字符开始逐个检查字符串中的字符,如果测出某个字符为非空格,而它的前面的字符是空格,则表示新的单词开始了。
设变量count来累计单词个数,初值为0。当发现新的单词开始,就使count累计1。
如果当前字符为非空格而前面的字符也是非空格,则意味着仍然是原来那个单词的继续,count不再累加1。
怎样知道前面一个字符是否是空格呢?可以设一个变量flag,用来表示指定的字符是否为空格,以flag为0代表前一个字符是空格;flag为1代表前一个字符是非空格,flag初始为0。
N-S图:
程序代码
/* 作者:C位出道丶 */ #include<stdio.h> #include<string.h> int main(void) { char string[81]; int i, count = 0, flag = 0; char c; gets(string); //读入一串字符串 for(i=0; (c = string[i]) != '\0'; i++) { if(c == ' ') flag = 0; //如果当前字符是空格,则使flag为0 else if(flag == 0) { flag = 1; count++; } } printf("There are %d words in this line.\n",count); return 0; }
注意:
当第一次循环时,即c = ‘I’ 时,默认前一个字符为空格,即flag = 0,首次执行的是else if
测试结果
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
c语言实现足球比赛积分统计系统
本文实例为大家分享了c语言实现足球比赛积分统计系统的具体代码,供大家参考,具体内容如下 /* 足球比赛积分统计系统 作者:施瑞文 时间:2018.2 */ //为简单化,这里没有加上文件的操作 #include <stdio.h> #include <stdlib.h> #include <string.h> #include<windows.h> #include<conio.h> #define LEN sizeof(mat
-
C语言实现统计100以内所有素数的个数
目录 题目描述 分析 代码实现 运行结果 后期完善 网上参考 本人C语言萌新,最近工作中频频出现C语言小错误,遂决定使用笨方法提高我的C语言水平,坚持每天一个C语言小练习,养成C语言手感,从此让编程成为习惯. 题目描述 统计100以内所有素数的个数 分析 素数(prime number)又称质数,在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,2是最小的素数. 代码实现 #include <stdio.h> #define INTEGER_RANGE 100 //数字范围 i
-
统计输入字符各个字母出现频率的解题思路
本文跟大家分享的是编写一个程序,能够计算输入字符各个字母出现的频率,具体如下 先跟大家展示一下最终结果: 刚刚接手题目的时候,我想得很复杂,因为26个字母中有大小写嘛,小写a~z,大写A~Z 但是,无论是大写还是小写,字母都只有26个,在此,当输入大写字母的时候,我们就将其转换为小写就ok啦 大写字母转换为小写字母,有个很方便的函数tolow(),在ctype.h中,详情文章末. 看过前一篇文章<c语言:计算输入字符个数>中使用数组统计单词长度的方法,在统计字母的个数的时候,依旧可以,只不过有
-
C语言实现选票统计
用C语言实现选票统计,供大家参考,具体内容如下 要求: 设有N个候选人,10个选举人,每一个选举人只能选一位候选人,最终票数最高的当选为领导人,输出候选人票数和领导人信息. 实现: 1定义结构体数组存储候选人信息. 2循环10次,每次从键盘输入选票姓名,和候选人进行比较,并统计选票. 代码: #include<stdio.h> #include<string.h> #define N 3 struct person{ char name[20]; int count; }leade
-
C语言每日练习之统计文本单词数及高频词
作业1:统计出txt文本里面的单词数,并找出频率出现最高的单词是哪个? 运行结果: 上代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //文件打开 //string file = System.IO.Fi
-
C语言实现统计一行字符串的单词个数
目录 问题简述 解题思路 程序代码 测试结果 问题简述 输入一行字符,统计其中有多少个单词,单词之间用空格分开 输入样例: I want to be a postgraduate. 输出样例: There are 6 words in this line. 解题思路 采用空格统计单词的方法:空格出现的次数(连续的若干个空格作为出现一次空格:一行开头的空格不统计在内)决定单词个数. 具体做法: 从第一个字符开始逐个检查字符串中的字符,如果测出某个字符为非空格,而它的前面的字符是空格,则表示新的单词
-
python统计文本字符串里单词出现频率的方法
本文实例讲述了python统计文本字符串里单词出现频率的方法.分享给大家供大家参考.具体实现方法如下: # word frequency in a text # tested with Python24 vegaseat 25aug2005 # Chinese wisdom ... str1 = """Man who run in front of car, get tired. Man who run behind car, get exhausted."&quo
-
C#判断单词个数方法总结
方法一: 判断英文单词个数: using System; namespace FindWord { class Program { static void Main(string[] args) { string space = " "; string str = "hello world" + space; int count = 0; bool start = false; for (int i=0;i<str.Length;i++) { if (Char
-
C语言编程中统计输入的行数以及单词个数的方法
统计输入的行数 标准库保证输入文本流以行序列的形式出现,每一行均以换行符结束.因此,统计行数等价于统计换行符的个数. #include <stdio.h> /* count lines in input */ main() { int c, nl; nl = 0; while ((c = getchar()) != EOF) if (c == '\n') ++nl; printf("%d\n", nl); } 在该程序中,while 循环语句的循环体是一个 if 语句,它控
-
C语言如何实现翻转字符串中的单词
目录 C语言翻转字符串中的单词 另外开辟一个空间,来存放翻转的字符串 直接在原数组上进行操作 C语言字符串各单词的反转 思路 代码实现 代码编译 调试输出 C语言翻转字符串中的单词 另外开辟一个空间,来存放翻转的字符串 单词之间是以空格间隔的,所以我们翻转需要一个一个字符进行翻转,我们需要找寻空格,找到空格表示一个字符已经找到,进行以下的步骤: 1. 首先获取原字符串的长度,申请一个长度+1的空间,因为还需要一个结束符. 2. 定义一个变量i,初始化为0,用i进行字符串的遍历,定义一个start
-
Shell中统计字符串中单词的个数的几种方法
Shell中求字符串中单词的个数的几种方法 方法一: [linux@host ~]# echo 'one two three four five' | wc -w 5 方法二: [linux@host ~]# echo 'one two three four five' | awk '{print NF}' 5 方法三: [linux@host ~]# s='one two three four five' [linux@host ~]# set ${s} [linux@host ~]# ech
-
Java实现对一行英文进行单词提取功能示例
本文实例讲述了Java实现对一行英文进行单词提取功能.分享给大家供大家参考,具体如下: package fanyi; import java.util.Scanner; import java.util.StringTokenizer; public class text { public static void handle(String eString) { StringTokenizer st = new StringTokenizer(eString,",!' '.;"); w
-
Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法
本文实例讲述了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法.分享给大家供大家参考,具体如下: package javatest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOEx
-
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
本文实例讲述了Python统计纯文本文件中英文单词出现个数的方法.分享给大家供大家参考,具体如下: 第一版: 效率低 # -*- coding:utf-8 -*- #!python3 path = 'test.txt' with open(path,encoding='utf-8',newline='') as f: word = [] words_dict= {} for letter in f.read(): if letter.isalnum(): word.append(letter)
-
R语言基础统计方法图文实例讲解
tidyr > tdata <- data.frame(names=rownames(tdata),tdata)行名作为第一列 > gather(tdata,key="Key",value="Value",cyl:disp,mpg)创key列和value列,cyl和disp放在一列中 -号减去不需要转换的列 > spread(gdata,key="Key",value="Value") 根据value将
随机推荐
- Vue.js2.0中的变化小结
- win2000/XP停止打印.bat
- java实现切图并且判断图片是不是纯色/彩色图片
- JavaScript实现继承的4种方法总结
- 一个简单至极的PHP缓存类代码
- js form 验证函数 当前比较流行的错误提示
- python获取目录下所有文件的方法
- 计算两个时间之差的函数
- 查看修改mysql编码方式让它支持中文(gbk或者utf8)
- 仿淘宝TAB切换搜索框搜索切换的相关内容
- jQuery加密密码到cookie的实现代码
- dos下删除文件夹和文件的方法
- Python 实现简单的shell sed替换功能(实例讲解)
- 与jquery serializeArray()一起使用的函数,主要来方便提交表单
- JQuery手速测试小游戏实现思路详解
- 增强用户体验友好性之jquery easyui window 窗口关闭时的提示
- Jquery实现瀑布流布局(备有详细注释)
- java string 转date方法如何实现
- IIS防盗链,防迅雷的唯一方案(safe3if)
- java页面中文乱码的解决办法