统计字符串中各类字符的个数

2023-11-10

题目:输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。

输入
一行字符。
输出
统计每种字符的个数值。

样例输入:
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出:
23 16 2 4

讲解:对于这种类型的题,我觉得就是对字母、数字、空格、其他字符条件的的判断(后面代码注释中有提到),另一个难点就是空格的计算,如果开数组,可能无法计算到空格,所以我采用的是getchar()输入一个字符,统计一个字符的方法。

代码(希望好好看看里面的注释):

//统计字符串中各类字符的个数
#include<stdio.h>
int main()
{
	char c;
	int x1=0,x2=0,x3=0,x4=0;
	while(c=getchar()){//因为还要统计空格,所以采用输入一个字符,统计一个字符的方法 
		if(c=='\n')  break;//如果点enter键,即输入结束 
		else if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))  x1++;//x1是字母的个数 
		//如果大小写要分别统计,这里可以将条件写成两部分 
		else if(c>='0'&&c<='9')  x2++;//x2是数字的个数 
		else if(c==' ')  x3++;//x3是空格的数目 
		else x4++;  //x4是其他字符,例如$%^?.等 
	  }
	  printf("%d %d %d %d",x1,x2,x3,x4);
	return 0;
}

样例结果:


差不多就这样,这道题难度不大,但要足够将细节考虑完全。

最后,如有问题,欢迎指正。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

统计字符串中各类字符的个数 的相关文章

随机推荐

  • 3ddfa v2 实测 笔记

    目录 2d人脸关键点opencv 演示代码 不带smooth emoca 3d生成 官方开源代码相关 学习笔记
  • OS常见面试题

    常见OS面试 常见面试题 进程和线程的区别 死锁的必要条件 怎么处理死锁 Window内存管理方式 段存储 页存储 段页存储 进程的几种状态 IPC几种通信方式 什么是虚拟内存 虚拟地址 逻辑地址 线性地址 物理地址的区别 1 进程和线程
  • jupyter问题 tensorflow问题

    1 tensorflow GPU安装时间的版本问题 python cuDNN CUDA版本要对应 2 cuda 安装命令 3 当新创建conda环境时 在jupyter中使用需要进行一下步骤 4 tensorflow gpu3 0版本需要控
  • 【计算机网络】8、telnet 协议 与 golang、rust 实现

    文章目录 一 背景 二 rust 实现 三 go 实现 一 背景 http 和 ftp 可以获取远端 server 的文件 而 telnet 是基于 tcp 的协议 其可以普通用户的特权身份登录 server 并获取其制定 应用或数据的权限
  • vue路由守卫(一张图搞清)

    Vue路由守卫主要分为 全局路由守卫 路由独享守卫 组件内部守卫 常常用来拦截页面 比如新用户下单时未登录时弹出登录页面 比如一些页面需要使用token值来进行操作 判断没有token值就弹出登录或者跳到登录页面 重新获取token 导航守
  • javaWeb项目如何添加jar包

    java普通项目引入jar包就可以了 但是针对javaWeb项目却无效 添加jar包的方法是找到apache tomcat目录 将jar包放到lib目录下 只针对使用的是apache tomcat服务器的javaweb项目 使用其它服务器的
  • 计算机及网络维护知识,电脑网络维护需要知道哪些知识?

    1 首先是网线 双绞线 连接线的制作 双绞线制作有568A和568B两个标准 日常以568B标准较常用 568B标准按颜色排序为 1 橙白 2 橙 3 绿白 4 蓝 5 蓝白 6 绿 7 棕白 8 棕 使用568A标准可将568B标准中橙
  • 在Linux中安装nodejs(已编译版安装方法)

    背景 本篇文章是继 在Linux中安装nodejs 未编译版安装方法 的续集 两种方法我更推荐这种 简单 连我一个小白都会的方法 废话不多说 上干货 安装步骤 第一步 下载安装包 你可以在这里下载好了往服务器上传 也可以执行如下命令 wge
  • 2022个人投资者投资行为分析报告

    导读 报告 发现 在经历了2022年投资市场的激荡起伏后 超半数受访者对未来1 2年的投资市场仍持乐观态度 但在行动上将更为谨慎 2022年的金融市场中 超半数投资者的投资风格为稳健型 对明星基金经理 历史高收益基金追捧热情明显回落 关注公
  • Abp Framework中文文档上线

    感谢 ABP框架中国小组 给我们带来的ABP中文翻译 Web 为方便广大学习爱好者随时查阅 现推出了Gitbook风格的在线阅读文档 http www webplus org cn document abp 反馈交流 http www we
  • php禁止浏览器记住密码,关于PHP中浏览器禁止Cookie后,Session是否能继续使用

    今天去面试 被问到浏览器禁止了Cookie后 Session还能继续使用吗 当时很自信的说当然不能用了 把之前了解到的信息负复述了一边 面试官很是无奈 很显然失败的面试 回来后找了度娘 果不其然 以后面试的每个问题都需要认真对待啊 关于PH
  • 27. Pandas

    Hi 大家好 我是茶桁 先跟小伙伴们打个招呼 今天这节课呢 就是我们Python基础课程的最后一节课了 在本节课之前 我们讲解了Python的基础 介绍了两个第三方库 而今天一样会介绍一个第三方库 Pandas 虽然是最后一节课了 但是本节
  • Linux搭建LAMP、LNMP环境;论坛的搭建;

    目录 LAMP的介绍 LAMP服务的配置 LAMP的介绍 LAMP 是一个缩写 它指一组通常一起使用来运行动态网站或者服务器的自由软件 Linux 操作系统 Apache 网页服务器 MySQL 数据库管理系统 或者数据库服务器 PHP 和
  • Qt通过QStorageInfo获取磁盘大小,linux下可根据路径获取挂接磁盘的大小,而非获取所有磁盘大小的总和

    QStorageInfo类提供了系统当前挂载的存储和驱动器的相关信息 包括它们的空间 挂载点 标签名 文件系统名 可以创建一个QStorageInfo对象 使用其静态方法mountedVolumes 来得到当前系统中挂载的所有文件系统的列表
  • 推荐一个golang压缩、解压库unarr

    github地址 github com gen2brain go unarr 使用很方便 解压例子如下 func ExtractFile file string error a err unarr NewArchive file if er
  • 计算机竞赛 多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉

    文章目录 0 前言 2 先上成果 3 多目标跟踪的两种方法 3 1 方法1 3 2 方法2 4 Tracking By Detecting的跟踪过程 4 1 存在的问题 4 2 基于轨迹预测的跟踪方式 5 训练代码 6 最后 0 前言 优质
  • 一个多开发虚拟环境的命令行工具——asdf

    asdf是一个不错的多开发虚拟环境搭建工具 玩Ruby的时候无意发现的 Ruby常用的虚拟环境工具有RVM和Rbenv 但是现在的开发都会包含python和nodejs之类的多语言开发环境 这个工具虽然不如Docker强大 但是也足够个人开
  • SpringBoot整合Nacos实现动态配置数据源

    1 Nacos介绍 是不是还有好多小伙伴不知道 nacos 是啥 nacos 是阿里巴巴的一个开源项目 官网给它的定义是 一个更易于构建云原生应用的动态服务发现 配置管理和服务管理平台 SpringBoot SpringCloud项目部署运
  • crowhuman和object365比赛里的json、odgt、txt数据解析

    crowhuman annotation val odgt标签解析 import cv2 import json data ID 273278 600e5000db6370fb gtboxes fbox 67 60 333 810 tag
  • 统计字符串中各类字符的个数

    题目 输入一行字符 分别统计出其中英文字母 数字 空格和其他字符的个数 输入 一行字符 输出 统计每种字符的个数值 样例输入 aklsjflj123 sadf918u324 asdf91u32oasdf 123 样例输出 23 16 2 4