# 题目

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数

//要求:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数#include <iostream>
using namespace std;int main1(void){//在assic码表中://48-57是10个数字,65 ~ 90 为大写字母,97 ~ 122 为小写字母//“空格(Space)的ASCII码值是32,,剩下的是特殊字符了int letter = 0, space = 0, digit = 0, others = 0;//字母,空格,数字和其它//使用循环接收用户输入,知道获取回车为止//在循环中嵌套if语句,对每一个输入的字符进行判断char c;cout<<"请输入需要分类计数的文本:";while((c = getchar())!= '\n'){//我们是可以用int()将c转换为数字判断他的范围,//不过char类型也是可以比大小的,原理一样if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))letter++;else if(c>='0'&&c<='9')digit++;else if(c==' ')space++;elseothers++;}cout<<"字母数:"<<letter<<"数字数:"<<digit<<"空格数:"<<space<<"其它字符数:"<<others;return 0;//除此之外,你还可以先将输入的文本保存在变量中,然后遍历这个变量进行统计//可以尝试使用字符数组,这样做的缺点是你无法准确预测用户输入多少个字符,太大浪费内存,太小可能溢出(strlen()用来获取字符串长度)//建议使用C++新增的数据类型string来储存,使用string类型时我们不必再定义他的长度,此外还有其他更方便易用的属性。//有别于c语言中的strlen()c++中string提供了两种不同方式来获取string字符串的长度,分别是int len1 = str.size();//int len2 = str.length();
}//string并不是内置的数据类型,而是C++标准库中声明的一个字符串类
//在使用它之前我们需要先导入<stirng>
#include <string>
#include <iostream>
using namespace std;int main(void){//这次我们利用string来重做string text;cout<<"请输入需要分类计数的文本:";//这是我开始实用的方法//cin>>text;//很遗憾它报错了,//错误情况,输入“I create a new virtual world!”打印text的值发现只有“I”//以下是失败的原因://cin 遇空格停止识别,虽然输入很长一串字符,但是cin在第一个遇到第一个空格就停止输入//解决办法使用getline把停止识别的符号设置为‘\n’//cin.getline(text,"\n");//getline(std::cin,text);getline(cin, text);//cout<<text<<endl;//注意这里有坑//在C++中本质上有两种getline函数//第一种:在头文件中,是iostream类的成员函数。//调用方式std::cin.getline(char* s, streamsize n, char delim );//函数原型://istream& getline (char* s, streamsize n );//istream& getline (char* s, streamsize n, char delim );//作用: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组中。即使还没读够n个字符,//      如果遇到delim 或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。//第二种:在头文件中,是普通函数。//调用方式:std::getline(istream&  is, string& str, char delim)//用法和上第一种类似,但是读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。//函数的变量://is :表示一个输入流,例如 cin。//str :string类型的引用,用来存储输入流中的流信息。//delim :char类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到’\n’,则终止输入。//在此处我们的text是string型数据显然使用第二种,而因为我们已经定义过 using namespace std;且不需要刚更改默认的终止符(换行符)//所以最终有了合法语句getline(cin, text);int letter_A = 0, letter_a = 0 ,space = 0, digit = 0, others = 0;//大写字母,小写字母,空格,数字和其它//接下来简单了,把上一个程序的第一个判断条件拆分开来就好for(int i=0;i<text.size();i++){if(text[i]>='a'&&text[i]<='z')letter_a++;else if(text[i]>='A'&&text[i]<='Z')letter_A++;else if(text[i]>='0'&&text[i]<='9')digit++;else if(text[i]==' ')space++;elseothers++;}cout<<"大写字母数:"<<letter_A<<"小写写字母数:"<<letter_a<<"数字数:"<<digit<<"空格数:"<<space<<"其它字符数:"<<others;return 0;
}

c++/输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数相关推荐

  1. 【C语言】输入一行字符,分别统计出其中英文字母 空格 数字和其他字符的个数

    输入一行字符,分别统计出其中英文字母 空格 数字和其他字符的个数 #include <stdio.h> int main() {char c;int letters=0,space=0,d ...

  2. c语言 输入一行字符,分别统计出其中英文字母 空格 数字和其他字符的个数

    输入一行字符,分别统计出其中英文字母.空格.数字和其他字符的个数. 解:程序: #include <stdio.h> int main() { char c; int letters=0, ...

  3. C语言输入一行字符,分别统计出其中英文字母,空格

    C语言输入一行字符,分别统计出其中英文字母,空格 注意:while((c=getchar())!='\n') 表示在终端输入一串字符串后,直到输入回车,然后将字符串添加到内存缓冲区中,再循环把字符取出 ...

  4. C语言输入一行数据分别统计出其中英文字母、 空格、数字和其他字符的个数并输出结果

    #输入一行数据(包括数字,英文字母,常见字符,空格),分别统计出其中英文字母. 空格.数字和其他字符的个数并输出结果:再把其中的数字按顺序输出出来 ##代码部分: #include <stdio ...

  5. 【C】输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数

    C语言没有字符串形式,所以可以用 char[] 数组来代替,但需要指定分配空间,所以可以采用单字符读取的形式: #include<stdio.h> int main(){char ch;i ...

  6. C 编写程序,对输入的一行字符分别统计其中英文字母、数字和其他字符的个数。

    第四章-循环结构程序设计 课后编程题-5 #include<stdio.h> main() {int cnt1=0,cnt2=0,cnt3=0; //cnt1:字母.cnt2:数字.cnt ...

  7. C语言学习之输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

    输入一行字符,分别统计出其中英文字母.空格.数字和其他字符的个数. #include <stdio.h> #include <string.h> void main(){cha ...

  8. C++输入一行字符,分别统计出其中 英文字母、数字、空格和其它字符的个数。

    /*输入一行字符,分别统计出其中 英文字母.数字.空格和其它字符的个数.*/ #include <iostream> using namespace std;int main() {cha ...

  9. C语言 字符串分类统计 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数

    C语言 字符串分类统计 输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数 题目: 输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数 样例输入: aklsjflj123 ...

  10. 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。

    输入一行字符,分别统计出其中英文字母.数字.空格和其他字符的个数.(C语言) #include<stdio.h> int main(){char ch;int space=0,number ...

最新文章

  1. oracle 11gr2 单机数据库使用asm,RHEL7上安装11gR2单机使用ASM存储搭建Physical Standby笔记...
  2. 不擅长物理科学计算机吗,物理难学否?答案因人而异,高二同学3 + 3选科莫要太随意...
  3. 优化我们的业务之Timecard
  4. 网络编程释疑之:TCP半开连接的处理
  5. Redux从入门到进阶,看这一篇就够了!
  6. YbtOJ#763-攻城略池【线段树合并】
  7. 《深度学习笔记》——loss函数的学习笔记
  8. Phoenix=HBase+SQL,让HBase插上了翅膀
  9. 快速截图工具——百度输入法的扩展功能
  10. 【JZOJ4587】Snow的追寻
  11. 可在线接收验证短信的网站
  12. glib使用之哈希表
  13. carte执行job任务时出现中文乱码
  14. Eclipse护眼背景及字体设置
  15. 力扣:377. 组合总和 Ⅳ
  16. 生活实用之清洗小龙虾
  17. php数组 减一,PHP减去数组值
  18. Qt编写物联网管理平台33-设备面板
  19. 英特尔发布Comet Lake和Ice Lake CPU400和495系列芯片组驱动程序
  20. CSS 都有哪些选择器?

热门文章

  1. 【附源码】计算机毕业设计Python安卓手机销售网站2651d(源码+程序+LW+调试部署)
  2. 房友系统数据连接服务器地址,房友中介连接服务器设置
  3. linux icon 字符转换工具,linux ICONV字符GB2312转换UTF8
  4. 【海康威视】前端开发:【2】Web无插件版Demo测试
  5. springboot系列(十七):集成在线接口文档Swagger2|超级详细,建议收藏
  6. 系统架构专题(1):大型互联网系统架构演变
  7. css中东布局rtl_如何将RTL支持添加到Flexbox和CSS网格
  8. vue实现类目筛选功能
  9. 上传图片到七牛云并返回图片URL
  10. sublime格式化显示json字符串文件