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

week4-[字符数组]字符统计

week4-[字符数组]字符统计

题目描述

给定一个仅包含英文字母、数字字符和标点符号(逗号’,‘,句号’.‘,感叹号’!‘,问号’?‘,分号’;')的字符串 SSS。请求出 SSS 中大写字母、小写字母、数字字符和标点符号分别有多少个。

输入格式

输入一行,为一个字符串 SSS

输出格式

输出一行,包括4个整数,分别表示 SSS 中大写字母、小写字母、数字字符和标点符号分别有多少个

样例 #1

样例输入 #1

HelloWorld.

样例输出 #1

2 8 0 1

样例 #2

样例输入 #2

HappyNewYear2023!

样例输出 #2

3 9 4 1

样例 #3

样例输入 #3

Youcanfoolallpeoplesomeofthetimeorsomepeopleallthetime,youcannotfoolallthepeopleallthetime.

样例输出 #3

1 88 0 2

样例 #4

样例输入 #4

YE5,N0.

样例输出 #4

3 0 2 2

提示

数据范围

对于所有输入数据,SSS 的长度不超过2000。

这题就是一个分类计数问题。字符串里可能有:

  • 大写字母 'A' ~ 'Z'
  • 小写字母 'a' ~ 'z'
  • 数字字符 '0' ~ '9'
  • 标点符号 只可能是 , . ! ? ;

解题思路

  1. 读入一行字符串(可能有字母数字标点混合)。
  2. 遍历字符串的每一个字符:
    • 如果是大写字母 → cntUpper++
    • 如果是小写字母 → cntLower++
    • 如果是数字 → cntDigit++
    • 如果是标点(逗号、句号、感叹号、问号、分号) → cntPunc++
  3. 最后输出四个数。

C++参考代码

#include <bits/stdc++.h>
using namespace std;int main() {string S;getline(cin, S);  // 读取整行int cntUpper = 0, cntLower = 0, cntDigit = 0, cntPunc = 0;for (char c : S) {if (c >= 'A' && c <= 'Z') cntUpper++;else if (c >= 'a' && c <= 'z') cntLower++;else if (c >= '0' && c <= '9') cntDigit++;else if (c == ',' || c == '.' || c == '!' || c == '?' || c == ';')cntPunc++;}cout << cntUpper << " " << cntLower << " " << cntDigit << " " << cntPunc << "\n";return 0;
}

✅ 时间复杂度:O(n) (n ≤ 2000,非常小)
✅ 空间复杂度:O(1)

http://www.dtcms.com/a/346730.html

相关文章:

  • STAR-CCM+|K-epsilon湍流模型溯源
  • c语言学习_数组使用_扫雷1
  • 【小沐学GIS】基于Godot绘制三维数字地球Earth(Godot)
  • HTTP的状态码有哪些,并用例子说明一下
  • 人工智能之数学基础:离散随机变量和连续随机变量
  • react中多个页面,数据相互依赖reducer解决方案
  • 变频器实习DAY35
  • 深入理解Java多线程:状态、安全、同步与通信
  • Day12 数据统计-Excel报表
  • 基于llama.cpp的量化版reranker模型调用示例
  • 目标跟踪 YOLO11 单目标跟踪
  • Uipath查找元素 查找子元素 获取属性活动组合使用示例
  • 【数据结构】线性表——链表
  • 基于springboot购物商城系统源码
  • 灵动AI:工业级商品图AI生成工具
  • 【剖析高并发秒杀】从流量削峰到数据一致性的架构演进与实践
  • GaussDB 数据库架构师修炼(十八) SQL引擎-解析器
  • 慢查询该怎么优化
  • 【文献阅读】Lossless data compression by large models
  • 【卷积神经网络详解与实例】2——卷积计算详解
  • Hive中的join优化
  • 解决散点图绘制算法单一导致的数据异常问题
  • DeepSpeed v0.17.5发布:优化性能与扩展功能的全新升级
  • Axure:有个特别实用的功能
  • 寻找AI——高保真还原设计图生成App页面
  • 【K8s】整体认识K8s之Docker篇
  • 完整实验命令解析:从集群搭建到负载均衡配置
  • 在TencentOS3上部署OpenTenBase:从入门到实战的完整指南
  • week4-[循环结构]生日悖论-new
  • 【C语言16天强化训练】从基础入门到进阶:Day 8