17、输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a
/*输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a */
#include <stdio.h>
#include <stdlib.h>
int isWord(char *pWord,int wordArraLength)
{
if(1 == wordArraLength && (('A' == *pWord || 'a' == *pWord)))
return 0;
return 1;
}
int countWordIn(char *pStr)
{
int cnt = 0;//记录符合要求的单词数
while('\0' != *pStr)//\0’是字符串的结束符号,由编译器自动加上 //从单词的第一个字母开始,读入字符存储到数组中
{
char wordArra[10] = {0};
int wordArraLength = 0;
while('\0' != *pStr && ' ' != *pStr)//从当前位置开始,遇到空格停止
{
wordArra[wordArraLength] = *pStr;
++wordArraLength;
++pStr;
}
int ret = isWord(wordArra,wordArraLength);//判断是否为单词,排除冠词a的情况
if(1 == ret)//非冠词a是一个单词
++cnt;
while('\0' != *pStr && ' ' == *pStr)//过滤空格,来到下一个单词的第一个字符
{
++pStr;
}
}
return cnt;
}
int main()
{
char sentence[1000];
gets(sentence);
/*
//从stdin流中读取字符串,直至接受到换行符或EOF时停止,
并将读取的结果存放在buffer指针所指向的字符数组中。
换行符不作为读取串的内容,读取的换行符被转换为null值,并由此来结束字符串。
scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:
(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。
① 遇空格、“回车”、“跳格”键。
② 遇宽度结束。
③ 遇非法输入。
*/
printf("%s\n",sentence);
int cnt = countWordIn(sentence);
printf("%d",cnt);
return 0;
}
17、输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词a的更多相关文章
- C语言输入一行整数(OJ输入格式)
就是说输入一行用空格隔开的函数,可是它没说用回车符结束,所以一定要用EOF了 第一种方法: ; char ch; do { scanf("%ld",&a[++t]); } ...
- python基础练习题(题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数)
day10 --------------------------------------------------------------- 实例017:字符串构成 题目 输入一行字符,分别统计出其中英 ...
- 【Python3练习题 012】 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
ASCII 码表的对应值,知道 ord('a') 能将字符 'a' 转化为 ASCII 码表上对应的数值,就可以了.其中,数字 0-9 对应的码值为 48-57,大写字母 A-Z 对应 65-90,小 ...
- 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例: 5
MD,一开始就想着怎么 用空格和结尾前判断字母 来计算写的头的爆了, 反过来判断空格后面是否有 =‘ ’就尼玛容易多了 #include<stdio.h> #include<stdl ...
- golang中通过bufio和os包读取终端中输入的一行带空格的数据
1. 如果读取不带空格的数据可以使用fmt.Scan或fmt.Scanln读取一个或多个值,但是不能读取带空格的数据,可以使用bufio和os两个包结合 package main import ( & ...
- c语言输入一行未知个数数字存入数组
一直有个疑问输入一行数字存入数组时若不知道数字的个数怎么办,最容易想到的办法就是接收字符然后转化为数字,但这样太过麻烦. 今天上网查了下,说可以用ungetc()函数将字符送回输入流,在这里总结归纳一 ...
- 使用getline输入一行字符串
给定10个国家名,按字母顺序输出,国家名中可以包含空格,国家名用换行隔开 #include<algorithm> #include<iostream> #include< ...
- C++输入一行字符串的一点小结
C++输入一行字符串的一点小结 原文链接: http://www.wutianqi.com/?p=1181 大家在学习C++编程时.一般在输入方面都是使用的cin. 而cin是使用空白(空格,制表符和 ...
- # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机
[ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...
- DedeCms织梦发布文章时输入Tag标签逗号自动变成英文标点的方法
把TAG标签的间隔号由空格改为英文的逗号,这样使得经常原创文章的站长朋友非常不方便,因为我们输入汉字时总是喜欢使用全角的逗号,那么有没有办法使用 js脚本把输入的中文逗号变成英文逗号呢?当然是可以的! ...
随机推荐
- Dubbo本地调试
dubbo 启动标志 Dubbo service server started <dubbo:reference id="transferTimingUploadHisRPCServi ...
- LFS(Linux From Scratch)构建过程全记录(二):磁盘分区
写在前面 本文将会详细记录LFS中,构建分区,构建文件系统和挂载分区的全过程 准备新硬盘 为了更加符合"从零开始构建Linux"的要求,我在虚拟机中,新建了一个磁盘 我们将会在这个 ...
- 依赖项安全检测新利器:Scorecard API
Scorecard 是 OpenSSF 旗下的开源项目,用于评估开源软件风险,本文由该项目的主要贡献者 Naveen 撰写. 现代软件是建立在数百个甚至数千个第三方开源组件之上的,这些通常被称为依赖项 ...
- Object.keys的‘诡异’特性,你值得收藏!
先从'诡异'的问题入手 例1: 纯Number类型的属性 const obj = { 1: 1, 6: 6, 3: 3, 2: 2 } console.log('keys', Object.keys( ...
- Elasticsearch: Reindex接口
在我们开发的过程中,我们有很多时候需要用到Reindex接口.它可以帮我们把数据从一个index到另外一个index进行重新reindex.这个对于特别适用于我们在修改我们数据的mapping后,需要 ...
- Logstash:Email output plugin 检查日志中是否还有某些错误信息并发送邮件报警
- nginx日志参数及含义
参数含义 $remote_addr,$http_x_forwarded_for #记录客户端IP地址 $remote_user #记录客户端用户名称 $request #记录请求的URL和HTTP协议 ...
- aardio + AutoHotkey 混合编程
本文主要介绍 aardio + AutoHotkey 混合编程. 在 aardio 中可以调用很多编程语言,例如 C语言.C++.C#.Java.Python.R.Javascript.Node.Js ...
- python运行以及入门语法基础
pycharm下载与使用 1.pycharm官网下载(直接到pycharm下载地址) http://www.jetbrains.com/pycharm/download/#section=window ...
- useEffect 和 useLayoutEffect浅析
执行时期的区别 useEffect 回调函数的执行时期 useEffect为异步执行,执行时期为 触发状态更新(如:setState,forceUpdate) React渲染函数执行(render) ...