统计字符的个数C++

题目描述

从键盘中任意输入一串字符,直至输入"#"字符代表结束.请编程统计输入的字符中的大写字母,小写字母和数字字符的个数分别是多少?

输入

输入只有一行,包括一串字符.(长度小于20)

输出

输出只有一行(这意味着末尾有一个回车符号),包括3个整数。分别代表大写字符,小写字符和数字字符的个数。

样例输入 复制
复制代码
daDSALDdcada3240#
样例输出 复制
复制代码
5 7 4

话不多说,直接上代码:

带注释版:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main() 
{
    //数据定义
	string a;
	int c1=0,c2=0,c3=0;
	//输入
	cin>>a;
	for (int i=0;i<a.size();i++) {
	    //C++自带函数
		if(isupper(a[i])) {
			c1++;//大写字母
		} else if(islower(a[i])) {
			c2++;//小写字母
		} else if(isdigit(a[i])) {
			c3++;//数字
		}
	}
	//输出
	cout<<c1<<' '<<c2<<' '<<c3;
	return 0;
}

不带注释版:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main() 
{
	string a;
	int c1=0,c2=0,c3=0;
	cin>>a;
	for (int i=0;i<a.size();i++) {
		if(isupper(a[i])) {
			c1++;
		} else if(islower(a[i])) {
			c2++;
		} else if(isdigit(a[i])) {
			c3++;
		}
	}
	cout<<c1<<' '<<c2<<' '<<c3;
	return 0;
}

感谢你的观看!

相关推荐
jieyucx1 天前
Go语言深度解剖:Map扩容机制全解析(增量扩容+等量扩容+渐进式迁移)
开发语言·后端·golang·map·扩容策略
顾温1 天前
default——C#/C++
java·c++·c#
凉茶钱1 天前
【c语言】动态内存管理:malloc,calloc,realloc,柔性数组
c语言·c++·vscode·柔性数组
脏脏a1 天前
【C++模版】泛型编程:代码复用的终极利器
开发语言·c++·c++模版
island13141 天前
【C++仿Muduo库#3】Server 服务器模块实现上
服务器·开发语言·c++
散峰而望1 天前
【算法竞赛】C/C++ 的输入输出你真的玩会了吗?
c语言·开发语言·数据结构·c++·算法·github
小龙报1 天前
【C语言】内存里的 “数字变形记”:整数三码、大小端与浮点数存储真相
c语言·开发语言·c++·创业创新·学习方法·visual studio
躺不平的理查德1 天前
时间复杂度与空间复杂度备忘录
数据结构·算法
深耕AI1 天前
【VS Code避坑指南】点击Python图标提示“没有Python环境”,选择安装uv后这堆输出到底是什么意思?
开发语言·python·uv
刃神太酷啦1 天前
扒透 STL 底层!map/set 如何封装红黑树?迭代器逻辑 + 键值限制全手撕----《Hello C++ Wrold!》(23)--(C/C++)
java·c语言·javascript·数据结构·c++·算法·leetcode