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

B2109 统计数字字符个数

B2109 统计数字字符个数

#include <iostream>

using namespace std;

# include <string.h>

#include <ctype.h>

#include <algorithm>

int main(){

  char str[256];

  cin.getline(str,256);

  //fgets(str,256,stdin);

  int cnt = 0;

  //for(size_t i = 0;i< sizeof(str);i++){

  for(size_t i = 0;i< strlen(str);i++){

    cnt +=isdigit(str[i]);

  }

  cout<<cnt;

}/*`sizeof` 和 `strlen` 在 C++ 中的确存在显著的区别。虽然 `sizeof` 的结果看似有时是个数,但它实际返回的是“字节长度”,而不是元素的数量,尤其在数组和字符串的场景中。以下是详细的解释:

### 1. **`sizeof` 的作用**

- **返回值**:`sizeof` 返回的是变量或类型在内存中占用的字节数。

- **作用对象**:可以用于任意数据类型(如基本数据类型、数组、结构体、类等)。

- **适用范围**:`sizeof` 是在编译时计算的,所以它的结果在编译期已知。

#### 示例

```cpp

int arr[10];

std::cout << sizeof(arr); // 输出 40(假设 int 是 4 字节)

```

这里 `sizeof(arr)` 的结果是 `40` 字节,因为数组 `arr` 包含 10 个 `int` 元素,而每个 `int` 占用 4 字节。因此 `sizeof(arr)` 返回 `10 * 4 = 40` 字节。

> 注意:对于数组,`sizeof` 返回的是数组的总字节数,并不是元素的个数(除非手动除以单个元素的大小)。在字符串场景中,`sizeof` 会包括字符串末尾的 `\0`。

#### 对字符串的影响

```cpp

char str[256];

std::cout << sizeof(str); // 输出 256

```

对于 `char str[256]`,`sizeof(str)` 返回的是整个字符数组的字节长度 `256`,而不是字符串的实际长度。这意味着即使字符串的内容长度是 10,`sizeof(str)` 依然返回 256,因为 `str` 的总空间大小是 256 字节。

### 2. **`strlen` 的作用**

- **返回值**:`strlen` 返回的是字符串的实际字符数(不包括末尾的 `\0`)。

- **作用对象**:仅用于 `char` 类型的字符串(C 风格字符串),且必须是以 `\0` 结尾。

- **适用范围**:`strlen` 是一个函数,它通过遍历字符串来确定字符个数,因此它的计算是在运行时进行的。

#### 示例

```cpp

char str[] = "Hello";

std::cout << strlen(str); // 输出 5

```

在这个例子中,`str` 实际包含的字符是 `H`, `e`, `l`, `l`, `o`,共 5 个字符,所以 `strlen(str)` 返回 `5`。这里不包括字符串末尾自动添加的 `\0`。

### 总结

- **`sizeof`**:返回的是变量或类型的总字节数,在数组中返回的是数组的全部内存大小(包括未使用的部分)。

- **`strlen`**:仅适用于 C 风格字符串,返回实际字符串内容的字符数,不包括终止符 `\0`。

所以,`sizeof` 返回的不是元素个数,而是总字节长度,而 `strlen` 返回的是字符串中实际字符的个数。*/

相关文章:

B2109 统计数字字符个数

B2109 统计数字字符个数 #include <iostream> using namespace std; # include <string.h> #include <ctype.h> #include <algorithm> int main(){ char str[256]; cin.getline(str,256); //fgets(str,256,stdin); int cnt 0; //for(size_t i 0…...

springboot Lark扫码登录

登录流程 测试通过的地址&#xff1a; https://open.larksuite.com/open-apis/authen/v1/index?app_idcli_a7add3c5bb38902f&redirect_urihttp%3A%2F%2Fstrongculture.cn&stateSTATE...

中专女生数赛疑云:阿里蒙冤,学校之过,尽显世态炎凉

11月3日&#xff0c;阿里巴巴全球数学竞赛组委会发布2024阿里巴巴全球数学竞赛有关情况说明&#xff1a;在本届竞赛中&#xff0c;江苏省涟水中等专业学校教师王某某和其指导的学生入围决赛&#xff0c;引发社会关注。根据决赛阅卷结果&#xff0c;二人未获奖。据调查了解&…...

【neo4j】 图数据库neo4j cypher单一语句 optional 可选操作的技巧

neo4j cypher单一语句 optional 可选操作的技巧 参考文章&#xff1a; Optional merge on relationships Cyper Merge on Optional Match 背景&#xff1a; 使用 match some node 中间还有一些可能与此node有联系的关系或者节点需要处理 create/merge/delete MATCH (src:SOU…...

ip地址分为几大类-IP和子网掩码对照表

一、IP地址的基本概念与分类 IP地址是用于在网络中标识每个设备的逻辑地址。互联网协议将IP地址分为A、B、C、D和E五类&#xff0c;其中A、B、C三类最常用&#xff0c;它们主要根据地址的首位位数以及用途进行划分。 A类地址&#xff1a; 范围&#xff1a;0.0.0.0 - 127.255.2…...

第四篇: 用Python和SQL在BigQuery中进行基础数据查询

用Python和SQL在BigQuery中进行基础数据查询 在大数据分析领域&#xff0c;Google BigQuery 提供了一种快速且经济高效的数据处理方式。对于想要使用SQL查询大规模数据的读者来说&#xff0c;BigQuery的公共数据集资源丰富、操作简便&#xff0c;是学习和实践SQL基础操作的理想…...

OpenCV中使用EdgeDrawing模块查找圆

从OpenCV4.5.2开始&#xff0c;Contrib模块中封装了开源库ED_Lib用于查找图像中的直线、线段、椭圆和圆。Github地址&#xff1a; https://github.com/CihanTopal/ED_Lib 算法原理简介&#xff1a; 边缘绘制&#xff08;ED&#xff09;算法是一种解决边缘检测问题的主动方法…...

C++在游戏领域的主要应用

1、C简介 C是一种通用的程序设计语言&#xff0c;其设计就是为了使认真的程序员工作得更愉快。除了一些小细节之外&#xff0c;C是C程序设计语言的一个超集。C提供了C所提供的各种功能还为定义新类型提供了灵活而有效的功能。程序员可以通过定义新类型&#xff0c;使这些类型与…...

基于SpringBoot的“CSGO赛事管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“CSGO赛事管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 赛事信息界面图 赛事通知界面…...

Web Broker(Web服务应用程序)入门教程(2)

1. Web 调度器(Web Dispatcher) 如果您使用的是 Web 模块,它就充当 Web 调度器的角色。如果您使用的是现成的数据模块,则必须向该数据模块中添加一个单一的调度器组件(Web.HTTPApp.TWebDispatcher)。调度器维护着一个动作项集合,这些动作项知道如何处理特定类型的请求消息…...

redis:list列表命令和内部编码

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言命令LPUSH 和 LPUSHXLRANGERPUSH 和 RPUSHXLPOP 和 RPOPLINDEXLINSERTLLENLREMLTRIMLSET阻塞版命令BLPOP 和 BRPOP 内部编码总结 前言 列…...

.Net Core Configuration用法

//在应用程序的任何地方注入 IConfiguration 来访问配置数据。ASP.NET Core 默认会加载 appsettings.json 文件 IConfiguration _configuration builder.Configuration; string connectionString _configuration["ConnectionStrings:SqlServerConnection"]; Hel…...

分享一些企业选择管理顾问公司的成功经验

为了在激烈的市场竞争中脱颖而出&#xff0c;许多企业开始寻求外部专业力量的支持&#xff0c;其中&#xff0c;企业管理顾问公司以其专业的知识、丰富的经验和独到的见解&#xff0c;成为了众多企业的得力助手。本文将分享一些企业在选择企业管理顾问公司过程中的成功经验&…...

「Qt Widget中文示例指南」如何实现窗口嵌入?

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写&#xff0c;所有平台无差别运行&#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今&#xff0c;Qt已被运用于超过70个行业、数千家企业&#xff0c;支持数百万设备及应用。 本文中的示例主要演…...

企业CRM选型必看:2024年最佳CRM系统排行

企业用户在选择CRM系统时&#xff0c;不仅要考虑系统的功能性、可定制性&#xff0c;还要考虑其与现有工具的集成能力以及价格。此外&#xff0c;在2024年&#xff0c;越来越多的企业用户会把CRM厂商的AI能力列入考察范畴。 本文分析整理2024年最佳CRM系统排行榜&#xff0c;从…...

SQL入门的基础知识

思考 无论是干任何语言或者其他方向的开发&#xff0c;都会和我们的SQL去进行打交道 总结 学习SQL的原因&#xff1a;后面的实战案例需要用SQL&#xff0c;SQL是开发人员的必备技能 现在只需要学到满足后续案例需要&#xff0c;即简单增删改查&#xff0c;做一个入门即可 1.…...

JS渗透(安全)

JS逆向 基本了解 作用域&#xff1a; 相关数据值 调用堆栈&#xff1a; 由下到上就是代码的执行顺序 常见分析调试流程&#xff1a; 1、代码全局搜索 2、文件流程断点 3、代码标签断点 4、XHR提交断点 某通js逆向结合burp插件jsEncrypter 申通快递会员中心-登录 查看登录包…...

淘宝扭蛋机小程序,功能优势分析

随着潮玩文化的影响&#xff0c;扭蛋机作为潮玩的鼻祖&#xff0c;又再次成为了大众的“宠儿”。扭蛋机通过与多种IP结合&#xff0c;创造出各种元素的商品&#xff0c;为大众带来娱乐、收藏的新方式。我国潮玩市场规模正在大幅度的增长&#xff0c;将达到千亿元&#xff0c;发…...

Redis 数据备份与恢复

Redis 数据备份与恢复 引言 Redis 作为一种高性能的键值存储数据库,在许多应用场景中扮演着重要的角色。然而,数据的安全性是任何数据库系统都需要关注的问题。为了确保数据的安全和完整性,定期进行数据备份和掌握恢复策略是至关重要的。本文将详细介绍 Redis 数据备份与恢…...

CentOS9 Stream 设置禁用IPV6

CentOS9 Stream 设置禁用IPV6 方法 1: 修改 sysctl 配置方法 2: 使用 NetworkManager方法 3: 禁用内核参数验证 IPv6 是否禁用 在 CentOS 9 Stream 中&#xff0c;您可以通过以下步骤禁用 IPv6&#xff1a; 方法 1: 修改 sysctl 配置 编辑 sysctl 配置文件&#xff1a; 打开 /…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...