当前位置: 首页 > news >正文

【C++】提示并输入一个字符串,统计该字符串中字母个数、数字个数、空格个数、其他字符的个数

1、提示并输入一个字符串,统计该字符串中字母个数、数字个数、空格个数、其他字符的个数

        only只是一个简单的小练习

#include <iostream>
#include <string>using namespace std;int main()
{string str;                //定义一个字符串类型cout<<"请输入一个字符串:";getline(cin,str);          //使用getline函数能够输入含有空格的字符串int len = str.length();//分别用来统计字符串中:字母,数字,空格,其他字符的个数,如果有就加1int letters = 0,digits = 0,spaces = 0,others = 0;for(int i = 0;i < len;i++){char ch = str[i];    //定义一个字符类型接收str字符串里的每一个字符,进行判断//判断是否为字母if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')){letters++;}//判断是否为数字else if(ch >= '0' && ch <= '9'){digits++;}//判断是否为空格else if(ch == ' '){spaces++;}//如果以上都不是,那就说明是别的字符else{others++;}}//输出统计出的结果cout<<"该字符串中字母有:"<<letters<<"个"<<endl;cout<<"该字符串中数字有:"<<digits<<"个"<<endl;cout<<"该字符串中空格有:"<<spaces<<"个"<<endl;cout<<"该字符串中其它字符有:"<<others<<"个"<<endl;
}

输出结果如下:

补充:

#include <iostream>
#include <ctype.h>using namespace std;int main()
{string str;int alpha = 0;int digit = 0;int space = 0;int other = 0;cout<<"请输入一个字符串:";getline(cin, str);for(unsigned int i = 0; i < str.size(); i++){if( isalpha(str.at(i)) ){alpha++;}else if( isdigit(str[i]) ){digit++;}else if(isspace(str.at(i))){space++;}else{other++;}}cout<<"alpha = "<<alpha<<"  digit = "<<digit<<" space = "<<space<<" other = "<<other<<endl;return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【归纳总结】常见排序算法及其实现:直接插入排序、希尔排序、选择排序、堆排序、冒泡排序、快排、归并排序
  • JavaEE-TCP协议
  • 基于x86 平台opencv的图像采集和seetaface6的性别识别功能
  • 【Docker项目实战】使用Docker部署webtop桌面版Linux环境
  • sqli-labs靶场通关攻略(36-40关)
  • 深信服上半年亏损5.92亿,营收同比降低2.3亿
  • 【软件测试】软件测试生命周期与Bug
  • 涉假率超40%!高德上找维修,你心得多大啊……
  • Vue3父组件调用子组件的方法
  • golang RSA 解密前端jsencrypt发送的数据时异常 crypto/rsa: decryption error 解决方法
  • 如何使用ssm实现社区智慧养老监护管理平台+vue
  • 24.08.28--点云图像投影参数理解;yaml_node理解
  • 【机器学习-随记】使用 Slack 和 Facebook Messenger 的消息机器人实现虚拟客服人员
  • mysql集群技术
  • 数据结构(邓俊辉)学习笔记】优先级队列 08——左式堆:结构
  • [nginx文档翻译系列] 控制nginx
  • 【347天】每日项目总结系列085(2018.01.18)
  • Android框架之Volley
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • docker python 配置
  • Flannel解读
  • gitlab-ci配置详解(一)
  • JAVA之继承和多态
  • JS 面试题总结
  • PHP那些事儿
  • python docx文档转html页面
  • python 学习笔记 - Queue Pipes,进程间通讯
  • tab.js分享及浏览器兼容性问题汇总
  • Vue 2.3、2.4 知识点小结
  • 前端工程化(Gulp、Webpack)-webpack
  • 用Visual Studio开发以太坊智能合约
  • 【云吞铺子】性能抖动剖析(二)
  • 正则表达式-基础知识Review
  • ​iOS实时查看App运行日志
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • (26)4.7 字符函数和字符串函数
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (四)Android布局类型(线性布局LinearLayout)
  • (算法)求1到1亿间的质数或素数
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .bat批处理(一):@echo off
  • .Family_物联网
  • .Net Core 生成管理员权限的应用程序
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .net对接阿里云CSB服务
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • [000-002-01].数据库调优相关学习
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——