/*输入一行以空格分隔的英文,判断其共有多少单词,不能包含冠词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的更多相关文章

  1. C语言输入一行整数(OJ输入格式)

    就是说输入一行用空格隔开的函数,可是它没说用回车符结束,所以一定要用EOF了 第一种方法: ; char ch; do { scanf("%ld",&a[++t]); } ...

  2. python基础练习题(题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数)

    day10 --------------------------------------------------------------- 实例017:字符串构成 题目 输入一行字符,分别统计出其中英 ...

  3. 【Python3练习题 012】 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

    ASCII 码表的对应值,知道 ord('a') 能将字符 'a' 转化为 ASCII 码表上对应的数值,就可以了.其中,数字 0-9 对应的码值为 48-57,大写字母 A-Z 对应 65-90,小 ...

  4. 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例: 5

    MD,一开始就想着怎么 用空格和结尾前判断字母 来计算写的头的爆了, 反过来判断空格后面是否有 =‘ ’就尼玛容易多了 #include<stdio.h> #include<stdl ...

  5. golang中通过bufio和os包读取终端中输入的一行带空格的数据

    1. 如果读取不带空格的数据可以使用fmt.Scan或fmt.Scanln读取一个或多个值,但是不能读取带空格的数据,可以使用bufio和os两个包结合 package main import ( & ...

  6. c语言输入一行未知个数数字存入数组

    一直有个疑问输入一行数字存入数组时若不知道数字的个数怎么办,最容易想到的办法就是接收字符然后转化为数字,但这样太过麻烦. 今天上网查了下,说可以用ungetc()函数将字符送回输入流,在这里总结归纳一 ...

  7. 使用getline输入一行字符串

    给定10个国家名,按字母顺序输出,国家名中可以包含空格,国家名用换行隔开 #include<algorithm> #include<iostream> #include< ...

  8. C++输入一行字符串的一点小结

    C++输入一行字符串的一点小结 原文链接: http://www.wutianqi.com/?p=1181 大家在学习C++编程时.一般在输入方面都是使用的cin. 而cin是使用空白(空格,制表符和 ...

  9. # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机

    [ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...

  10. DedeCms织梦发布文章时输入Tag标签逗号自动变成英文标点的方法

    把TAG标签的间隔号由空格改为英文的逗号,这样使得经常原创文章的站长朋友非常不方便,因为我们输入汉字时总是喜欢使用全角的逗号,那么有没有办法使用 js脚本把输入的中文逗号变成英文逗号呢?当然是可以的! ...

随机推荐

  1. 如何在 Windows 和 Linux 上确定系统使用的是 MBR 分区还是 GPT 分区详细步骤!!!

    在 Windows 上检查系统使用的是 MBR 分区还是 GPT 分区 点击放大镜搜索输入disk 点击打开 进入之后,右键点击你想要检查分区方案的磁盘,在右键菜单里选择属性! 在属性窗口,切换到卷, ...

  2. Spark 读Hive并写入HBase

    package com.grady import org.apache.hadoop.hbase.HBaseConfiguration import org.apache.hadoop.hbase.c ...

  3. 电商平台物流模块自建OR对接第三方物流平台

    ​ 前沿 近几年来,电商行业竞争变得愈加激烈,公域流量获客成本越来越高,电商平台规则也越来越严格,数据无法出塔,商家无法自主运营用户群等等原因,很多大品牌纷纷开始搭建自有商城,运营私域流量,以此来降低 ...

  4. HashMap的哈希函数为何用(n - 1) & hash

    前言 在上一篇 Java 中HashMap详解(含HashTable, ConcurrentHashMap) 中提到在map.put(key, value)的过程中,计算完key的hash值, 是通过 ...

  5. MySQL5.7之在线DDL不会锁表

    MySQL5.7在线修改varchar字段不在锁表,测试过程如下: mysql> select version(); +------------+ | version() | +-------- ...

  6. nsis使用URLDownloadToFile下载文件

    在Urlmon.dll中有个函数叫URLDownloadToFile,顾名思义,是一个用来下载文件的东西,我们做在线安装或者其他很多时候,往往需要提前下载一些小的文件来配置当前将要安装的程序,遇到这种 ...

  7. PHP全栈开发(七):PHP与MySQL存储交互(2.插入、读取)

    <?php $servername = "localhost"; $username = "root"; $password = "beijin ...

  8. P7113 [NOIP2020] 排水系统 (拓扑排序)

    (不想打高精,也不想学习其他大佬的神仙写法,打了90分的错解). 本题容易想到用拓扑排序处理,涉及分数的加法,用long long会超时,不过通分时先除后乘卡一下也可以拿90分. 结构体真是个复杂的东 ...

  9. NOIP2011 提高组 聪明的质监员(二分+前缀和)

    看到这道题,应该都能想到用二分,那问题是怎么去判定呢? 我们考虑用前缀和(a1统计w,a2统计v),枚举每个矿石,,当前判定的值是x,如果该矿石的w>=x,a1[i]=a1[i-1]+1,a2[ ...

  10. set 学习笔记

    一.声明 1.头文件 \(include<set>//包括set和multiset两个容器\) 2.声明 \(set<int> s\) s自带一个维度 二.迭代器 对" ...