从键盘输入n个英文句子(“.”、“?”和“!”表示结束),每次输入一句,分别统计输出每个句子的大写字母个数、小写字母个数、数字个数、空格个数和其他字符个数,最后输出全部句子的统计结果。

题目:

从键盘输入n个英文句子(“.”、“?”和“!”表示结束),每次输入一句,分别统计输出每个句子的大写字母个数、小写字母个数、数字个数、空格个数和其他字符个数,最后输出全部句子的统计结果。

  • 每个句子不知道有多长,所以不适合用char []型存储,所以可以选择用string;
  • 由于不知道会输入多少个句子,所以可以选择动态数组vector来存储每个string;
  • 判断字符类型可以用库函数:<cctype>
  • 各种句子成分类型可以写在一个结构体内;

具体代码如下:

#include <iostream>
#include <vector>
#include <cctype>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
void analyse(string & );
struct component
{int uppercase;int lowercase;int digit;int space; int other;
}cp;
int  main()
{cout << "请输入几个句子,每个句子以“.”,“?”或“!”结尾,以一个'.'作为最后一个句子。" << endl;std::vector<string> sentences;char ch=' ';string str("");while(str != "."){str.erase(str.begin(),str.end());ch = ' ';while(ch!='.' && ch!='?' && ch!='!'){cin.get(ch);if (ch == '.' || ch == '?' || ch == '!')cin.get();str += ch;}sentences.push_back(str);}for (decltype(sentences.size()) i = 0; i < sentences.size(); i++){if (i == sentences.size()-1)cout << endl << "总句子分析:" << endl;elsecout << endl << "第" << i + 1 << "个句子分析:" << endl;analyse(sentences[i]);}cout << "bye!";system("pause");return 0;
}
void analyse(string & str)
{   static component sum_cpn={0};if (str=="."){cout << "总小写字母数:" << sum_cpn.lowercase << endl<< "总大写字母数:" << sum_cpn.uppercase << endl<< "总数字数:" << sum_cpn.digit << endl<< "总空格数:" << sum_cpn.space << endl<< "总其他字符数:" << sum_cpn.other << endl;return;}component cpn={0,0,0,0,0};for (decltype(str.size()) i = 0; i < str.size(); i++){if (isupper(str[i])){cpn.uppercase++;sum_cpn.uppercase++;}    else if (islower(str[i])){cpn.lowercase++;sum_cpn.lowercase++;}else if (isdigit(str[i])){cpn.digit++;sum_cpn.digit++;}else if (isspace(str[i])){cpn.space++;sum_cpn.space++;}else{cpn.other++;sum_cpn.other++;}}cout << "小写字母数:" << cpn.lowercase << endl<< "大写字母数:" << cpn.uppercase << endl<< "数字数:" << cpn.digit << endl<< "空格数:" << cpn.space << endl<< "其他字符数:" << cpn.other << endl;
}

句子成分分析(C++)相关推荐

  1. NCE3.21 Danile Mendoza 丹尼尔.门萨多 -句子成分分析

    NCE3.21 Danile Mendoza 丹尼尔.门萨多 -句子成分分析 However, boxing was very crude, for there were no rules and a ...

  2. python 中文分析句子成分_语文句子成分分析详解

    现代汉语句子成分分析与讲解 一.主语.谓语 1 .主语 主语可分为名词性主语和谓词性主语. 名词性主语由名词性词语充当, 包括名词. 数词. 名词性的代词短语, 多表示人或事物. 作为被陈述的对象, ...

  3. 英语句子成分分析(二)--十大词类

    第二章   词类概念建立以及词类分析能力的培养 第一节   词类分析能力的自我培养之秘笈 一个词的词性不止一个,通常有两个或两个以上(如work 可以作名词或动词,但这个词一旦放在句中,它的词性就确定 ...

  4. 英语句子成分分析(三)--主(语)+系(动词)+表(语)

    第三章 五种基本句型及句子成分的分析 第一节 破解英语句子之密码"钥匙"  --五种基本句型 五种基本句型的分析能力的培养是分析一切复杂句子的基础,是分析千千万万个句子的基础,因为 ...

  5. NCE3.22 By heart 熟记台词-句子成分分析

    NCE3.22 By heart 熟记台词-句子成分分析 Some plays are so successful that they run for years on end. So that 引导 ...

  6. NCE 3.23 One man’s meat is another man’s poison 各有所爱-句子成分分析

    NCE 3.23 One man's meat is another man's poison 各有所爱-句子成分分析 People become quite illogical when they ...

  7. 英语句子成分分析(四)

    第二节 要的是真"功夫" --句子成分的分析 这一节我们专门侃侃句子成分的分析,实际上,句子成分我们在在侃五种基本句型时已经大部分介绍过(句子的 成分主要有:主语.谓语.宾语.定语 ...

  8. 英语句子成分分析(一)

    来源: http://tieba.baidu.com/p/319046524?pn=1 第一章   英语句子结构的简单认识 主语(Sbject)  连系动词(Linking-verb) 表语(Pred ...

  9. (3)雅思屠鸭第三天:六种简单句翻译与句子成分分析

    前言 打基础部分,要一直持续一个多月,这部分主要涉及的还是听说读写四部分所需要的词汇与语法. 文章内容主要是今日所有课程的笔记.今天的重点是语法部分. 我自己总是习惯轻视语法.结果学习了这么多年的英语 ...

  10. 英语句子成分分析(三)--主(语)+谓(语)

    五种基本句型之 主(语)+谓(语) 主语(略) 谓语,谓语从意义上说有表示动作和状态两种情况:表示状态的就用主语+连系动词+表语句型来表示.一般情况下,谓语位于主语之后,从意义上理解,往往具有动作意味 ...

最新文章

  1. 离开互联网上岸1年后,我后悔了!重回大厂内卷
  2. python怎么安装包-怎么安装python包
  3. 201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得
  4. [2020多校A层11.25]最大K段和(反悔贪心)
  5. Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: [BABEL] D:\moblie\web_co
  6. stream of java_Java 8 新特性-Stream更优雅的处理集合入门
  7. 88是python语言的整数类型_Python基础数据类型题
  8. Redis分布式锁如何提高可用性
  9. 华为路由器与CISCO路由器的不同配置步骤
  10. 计算机技术知识字,计算机基础知识
  11. 用c语言编写24点游戏,C语言解24点游戏程序
  12. 【java学习之路】(java SE篇)014.Stream API
  13. wpsppt流程图联系效果_wps幻灯片怎么制作流程图
  14. 框架分析--框架的类关系图
  15. libiec61850学习1
  16. 笔记学习:关于如何使用ESPwifi模块与51单片机通信
  17. CTU Open Contest 2019 -A-Beer Barrels
  18. 使用 mongorestore恢复数据以及使用 Studio 3T GUI 管理数据库
  19. 7-76 查询水果价格
  20. 借鉴-牛人开发的网络搜索工具

热门文章

  1. Cloudera Manager 配置
  2. 搭建简单的企业网站,华为云速建站和阿里建站哪个好?
  3. QT关于屏幕保护程序
  4. 第13节 IIS之WEB服务器—用于发布网站
  5. [ECharts] DEPRECATED: ‘normal‘ hierarchy in itemStyle has been removed since 4.0. All style properti
  6. Instagram登录使用教程目录
  7. 在多个QQ号码间共享自定义表情(转)
  8. 灰色预测的MATLAB代码
  9. SecureCRT界面的菜单栏不见了怎么办?
  10. 杰理之低延时无线麦功能支持以下两种组合配置【篇】