【HJ40】统计字符

2023-11-03

题目描述

输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。
本题包含多组输入。
数据范围:输入的字符串长度满足 【1,1000】

输入描述:
输入一行字符串,可以有空格

输出描述:
统计其中英文字符,空格字符,数字字符,其他字符的个数

示例1

输入:
1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\/;p0-=\][
输出:
26
3
10
12

题解思路

使用 C 标准库 - <ctype.h>

  • isalpha()判断一个字符是否是字母
  • isspace()判断一个字符是否是空格符
  • isdigit()判断一个字符是否是十进制数字

代码实现

#include <stdio.h>
#include <ctype.h>

int main()
{
    char str[1001];
    while(gets(str) != NULL) {
        int n = strlen(str);
        int alpha_sum = 0;
        int space_sum = 0;
        int digit_sum = 0;
        int other_sum = 0;
        for(int i = 0; i < n; ++i) {
            if(isalpha(str[i])) {
                alpha_sum++;
            }
            else if(isspace(str[i])) {
                space_sum++;
            }
            else if(isdigit(str[i])) {
                digit_sum++;
            }
            else {
                other_sum++;
            }
        }
        printf("%d\n%d\n%d\n%d\n", alpha_sum, space_sum, digit_sum, other_sum);
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HJ40】统计字符 的相关文章

  • 面试题十道-01- 2021.11.25

    1 java8加了哪些新特性 答 jdk8引入了lambda表达式 lambda表达式实质上是一种匿名内部类 只是写法上简化了 他将原来繁琐的匿名内部类的形式缩减成较为简短的形式 由jvm进行还原 相对于匿名内部类 lambda表达式的书写
  • JSON的语法、常用类型及示例

    JSON结构 JSON结构有两种结构 就是对象和数组 通过这两种结构可以表示各种复杂的结构 province Shanxi 可以理解为是一个包含province为Shanxi的对象 Shanxi Shandong 这是一个包含两个元素的数组
  • Educoder--Java高级特性 - 多线程基础(1)使用线程

    第一题 请仔细阅读右侧代码 根据方法内的提示 在Begin End区域内进行代码补充 具体任务如下 使用继承Thread类的方式创建一个名为 ThreadClassOne 的类 重写的run方法需要实现输出0 10之间的奇数 输出结果如下
  • 开关电源原理、电路组成部分

    开关电源电路图及原理12v分析 详细版 KIA半导体的博客 CSDN博客 开关电源适配器各部分电路原理分析介绍
  • 【区块链实战】什么是 P2P 网络,区块链和 P2P 网络有什么关系

    目录 一 简介 二 知识点 P2P 网络 区块链节点与 P2P 的关系 区块链节点功能分类 P2P 网络特征 三 什么是 P2P 网络 区块链式使用 P2P 网络做什么 1 P2P 网络概念 2 P2P 网络节点特征 3 P2P 与区块链

随机推荐

  • 数据结构之图:无向图的介绍与功能实现,Python——22

    无向图 Undigraph 的介绍 引入 生活中的图 有地图 集成电路板的图 可以看类似的看做是数据结构中的图 数据有 一对一 一对多 和 多对多 的关系 前两种分别表示线性表和树的存储结构性质 而多对多则可表示图的存储结构性质 定义 图是
  • 基于Jupyter(python)使用蒙特·卡罗方法计算圆周率近似值

    使用蒙特 卡罗方法计算圆周率近似值 from random import random times int input 请输入掷飞镖次数 hits 0 for i in range times x random y random if x
  • 操作系统日志收集与分析

    一 Windows日志收集与分析 在运维工作中 如若windows服务器被入侵 往往需要检索和分析相应的安全日志 除了安全设备 系统自带的日志就是取证的关键材料 但是此类日志数量庞大 需要高效分析windows安全日志 提取出我们想要的有用
  • 电源纹波测试,居然还能这么玩

    开关稳压器因其具有非常高的效率优势 正在各个领域逐渐替代线性稳压器 但由于开关稳压器通常被认为具有很大的输出纹波 Ripple 所以很多工程师在高性能和噪声敏感型系统中只考虑使用低压差 LDO 稳压器 而事实上 现今很多高性能开关稳压器都已
  • 迁移学习概述

    1 迁移学习的背景 在有监督的机器学习和尤其是深度学习的场景应用中 需要大量的标注数据 标注数据是一项枯燥无味且花费巨大的任务 关键是现实场景中 往往无法标注足够的数据 而且模型的训练是极其耗时的 因此迁移学习营运而生 传统机器学习 主要指
  • markdown语法介绍

    目录 动态目录 toc 文章目录 目录 一 标题和文本 1 使用 和 标记一级和二级标题 2 使用 号标记 3 换行 二 文字标记和插入图片 链接 1 插入链接 2 插入图片 3 文字标记 设置文字 删除线 下划线 上标 下标 注释 4 e
  • Flip card 卡片翻转效果

    鼠标滑过 卡片翻转 如果想要点击卡片翻转的话就把 hover 改成 hover 然后自己添加点击事件 添加 class hover
  • Java序列化

    Java序列化 原理图 0bjectoutputstream java io 0bjectoutputstream extends outputstreamobjectoutputstream 对象的序列化流 作用 把对象以流的方式写入到文
  • 以太坊合并后,Layer2 何去何从?

    转载原文链接 http www btcwbo com 5671 html 在2022年以太坊开发者峰会上 联合创始人威尔基说 以太坊预计将信号标准链与主网络合并 通过8月份的TheMerge 合并 升级 这样以太坊就可以证明 POS 共识算
  • 英雄联盟-经验砖块

    作为一个LOL老玩家 如果说对游戏细节把握不到位 这是说不过去的 我们时常说道发育为重 那么发育包括等级和装备 我们是不是应该更精细的把我等级呢 今天我们来探究一下 赖线从小兵身上我们能获得多少经验等级 问题1 每个小兵有多少经验值呢 近战
  • 勒索软件攻击防护中的6个常见错误

    勒索软件攻击已经成为影响所有行业和组织的大问题 考虑到这些攻击可能对企业造成的影响 安全专业人员正在尝试以各种方式保护企业的网络 应用和数据 然而 但随着勒索攻击威胁形势的不断变化 很多错误的做法可能会阻碍企业勒索防护计划的有效执行 并使组
  • 最详细的Transformer讲解,Attention Is All You Need

    前言 Attention Is All You Need Google Brain 引用量 30255 1 3 ResNet 贡献 Transformer 是第一个完全依赖自注意力来计算其输入和输出表示而不是使用序列对齐的RNN和CNN 一
  • C++标准库头文件(工具库->csetjmp)

    参考网址 https zh cppreference com w cpp header https www runoob com cplusplus cpp standard library html 工具库 csetjmp 保存执行语境的
  • Android-Fragment详解

    Fragment是Android最常使用的控件之一 一般情况下 我们会在首页使用到 有的小伙伴也会单Activity和多Fragment的App 我总结了一下我了解的Fragment知识 希望对看这篇文章的小伙伴有所帮助 Fragment的
  • USB:Type-A、Type-B、Type-C、miniUSB、microUSB接口类型区分

    通用串行总线 universal serial bus USB 自推出以来 成功替代串口和并口 已经成为计算机和各种设备不可或缺的接口 USB的优点不用多说 网上有很多 今天主要小结一下USB的各种接口类型 避免被各种各样的USB名字搞晕
  • SQL调优案例1

    SQL语句的执行顺序 1 LIMIT 语句 分页查询是最常用的场景之一 但也通常也是最容易出问题的地方 比如对于下面简单的语句 一般 DBA 想到的办法是在 type name create time 字段上加组合索引 这样条件排序都能有效
  • 遥感影像识别-利用较大数据集训练

    回顾 经过前两次的思考 最终还是回到最初的想法上来 利用大量比较合理的电子地图进行模型的训练 看能否产生较好的效果 前两次的博文链接如下 遥感影像识别 制作数据集 遥感影像识别 训练策略 本次训练所使用的数据集 地域覆盖了全国几个主要的城市
  • Elasticsearch入门笔记

    ES入门笔记 1 概述 1 1 什么是全文检索 1 2 es的应用场景 1 3 参考资料 2 核心概念 3 进阶 3 1 集群 3 1 1 单节点 3 1 2 双节点 故障转移 3 1 3 三节点 水平扩容 3 1 4 应对故障 3 2 路
  • jdk1.8 Lambda 实战

    我们用常用的实例来感受 Lambda 带来的便利 替代匿名内部类 过去给方法传动态参数的唯一方法是使用内部类 比如 1 Runnable 接口 new Thread new Runnable Override public void run
  • 【HJ40】统计字符

    题目描述 输入一行字符 分别统计出包含英文字母 空格 数字和其它字符的个数 本题包含多组输入 数据范围 输入的字符串长度满足 1 1000 输入描述 输入一行字符串 可以有空格 输出描述 统计其中英文字符 空格字符 数字字符 其他字符的个数