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

2025蓝桥杯备赛Day1——B2109 统计数字字符个数

B2109 统计数字字符个数

题目描述

输入一行字符,统计出其中数字字符的个数。

输入格式

一行字符串,总长度不超过 255。

输出格式

输出为 1 行,输出字符串里面数字字符的个数。

输入输出样例 #1

输入 #1

 Today is 2021-03-27

输出 #1

 8

代码实现:

 #include<bits/stdc++.h>
 using namespace std;
 ​
 int main() {
     int num=0;
     string s;
     getline(cin,s);
     int n=s.size();
 ​
     for(int i=0; i<n; i++) {
         if(s[i]>='0'&&s[i]<='9') {
             num++;
         } 
     }
     cout<<num<<endl;
     return 0;
 }

代码思路:

  1. 读取输入:使用 getline 函数读取整行输入,确保包含空格在内的所有字符都被正确读取。

  2. 遍历字符串:逐个检查字符串中的每个字符。

  3. 判断数字字符:通过比较字符的ASCII值,判断其是否为数字字符(即介于 '0' 和 '9' 之间的字符)。

  4. 计数:每遇到一个数字字符,计数器加一。

  5. 输出结果:最后输出计数器的值,即数字字符的总数。

知识点

  • 输入处理:使用 getline(cin, s) 从标准输入读取一整行,直到遇到换行符为止。

  • 字符范围判断:通过比较字符的 ASCII 值('0''9')判断是否为数字。

  • 范围循环for (char c : s) 是 C++11 特性,简化遍历容器元素的语法。

  • 时间复杂度O(n),其中 n 为字符串长度。每个字符仅遍历一次,效率最优。

相关文章:

  • 微信小游戏:跳一跳,自动化操作
  • 4.6--入门知识扫盲,路径追踪与路由误导:Tracert攻击 vs ICMP重定向攻击(包你看一遍全记住)
  • squirrel语言全面介绍
  • JAVA学习--java数组--打印稀疏数组和稀疏数组的还原
  • React基础语法速览
  • 每日一题力扣2960.统计已测试设备c++
  • 从零开始:使用 Cython + JNI 在 Android 上运行 Python 算法
  • C++进阶(一)
  • 智能照明与新能源集成的精细化能效管理实践
  • 蓝桥杯备赛-DFS-有奖问答
  • Android中的setInheritRT
  • JAVA_数据结构_栈和队列
  • 实现分布式锁需要考虑哪些问题?
  • 组播策略路由选择
  • SSH密钥认证 + 文件系统权限控制 + Git仓库配置+封存与解封GIT仓库
  • mac环境下chatwoot客服聊天docker本地部署+对接通义千问Qwen2.5
  • RAG 架构地基工程-Retrieval 模块的系统设计分享
  • 安卓15/aosp15/lineage21使用brunch编译老是报错OOM内存不足
  • 怎样才能把网页数据保存到网络上?
  • 【redis】在 Spring中操作 Redis
  • 老人将房产遗赠给外孙,三个女儿却认为遗嘱应无效,法院判了
  • 科创板年内第3家!健信超导IPO获受理,拟募资8.65亿
  • 刘元春在《光明日报》撰文:以法治护航民营经济高质量发展
  • 碧桂园:砸锅卖铁保交房、持续推进保主体,尽快让公司恢复正常经营
  • 长期对组织隐瞒真实年龄,广元市城发集团原董事韩治成被双开
  • 【社论】以法治力量促进民企长远健康发展