字符串--分类统计字符个数(心得+知识点)_微机原理统计字符串中字符个数-程序员宅基地

技术标签: C语言基础  字符串  

6-1 分类统计字符个数 (15 分)

本题要求实现一个函数,统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。

函数接口定义:
void StringCount( char s[] );
其中 char s[]是用户传入的字符串。函数StringCount须在一行内按照

letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。

裁判测试程序样例:

#include <stdio.h>
#define MAXS 15

void StringCount( char s[] );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */

int main()
{
    char s[MAXS];

   ReadString(s);
    StringCount(s);
    return 0;
}
/* Your function will be put here */

输入样例:

aZ &
09 Az

输出样例:

letter = 4, blank = 3, digit = 2, other = 1

//letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
void StringCount(char s[])
{
	int l, i, j = 0, a, x, blank = 0, letter = 0, digit = 0, other = 0;
	while (s[j] != '\0')
		j++;
	for (i = 0; i<j; i++)
	{
		if (s[i] == ' ' || s[i] == '\n') //期初用的ASCLL来判断,后来发现可以直接打上要判断的条件,前提要有单引号。
		{
			blank++;
		}
		else if ((s[i]>='A' && s[i]<='Z') ||( s[i]>='a' && s[i]<='z'))//或与且两个小括号可以去掉不要,带着比较好看。

		{
			letter++;
		}
		else if (s[i]>='0' && s[i]<='9')
		{
			digit++;
		}
		else
		{
			other++;
		}
	}
	printf("letter = %d, blank = %d, digit = %d, other = %d", letter, blank, digit, other);
}

从这个题,明白以后做字符串的题,可以直接打上要判断的字符,不用去一一搜索ASCLL码值。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hx_521/article/details/84954492

智能推荐

KONGSBERG RMP201-8数字量输入模块-程序员宅基地

文章浏览阅读295次。总的来说,KONGSBERG RMP201-8数字量输入模块是一款性能卓越、功能丰富的产品。除了信号处理功能外,该模块还配备了通信接口,如以太网、串行通信等,这使得它能够与其他设备或控制系统进行数据交换和控制。KONGSBERG RMP201-8数字量输入模块是一款功能强大的模块,专为接收和处理数字信号而设计。RMP201-8模块的核心功能是接收数字信号,如高低电平、脉冲信号等,并将这些信号转换为控制系统可以识别和处理的格式。通道的数量通常根据具体的应用需求进行配置,从而为用户提供了极大的灵活性和扩展性。

异常数据检测 | Python基于Hampel的离群点检测_python 离群点检测-程序员宅基地

文章浏览阅读823次。异常数据检测 | Python基于Hampel的离群点检测_python 离群点检测

中点Bresenham画圆-程序员宅基地

文章浏览阅读117次。这里不仔细讲原理,只是把我写的算法发出来,跟大家分享下,如果有错误的话,还请大家告诉我,如果写的不好,也请指出来,一起讨论进步。算法步骤:(1) 输入圆的半径R。(2) 计算初始值d = 1 - R, x = 0; y = R。(3) 绘制点(x, y), 及其在八分圆中的另外7个对称点。(4) 判断d的符号,若d < 0, 则先将d更新为d+2*x+3,再将(x,y)..._设圆半径r=10,初始点(0,10),利用中点bresenham画圆法绘制八分之一圆弧

idl结果显示窗口如何缩小_IDL入门教程二(上)(简单图形显示II)-程序员宅基地

文章浏览阅读141次。第二章简单的图形显示本章概述科学分析最基本的能力就是以简单的线画图、等值线图和曲面图来显示所研究的数据。在这一章中,将知道用这些方式来显示数据是多么容易。也将学会用系统变量和关键字来定位和标注简单的图形显示。将学会如下几点:1.如何用Plot命令将数据显示为线画图。2.如何用Surface和Shade_Surf命令将数据显示为曲面图。3.如何用Contour命令将数据显示为等值线图。4.如何在显示..._idl中画图时怎样让横坐标的讲变窄

Python 网络爬虫与数据采集(二)_python数据采集与网络爬虫报告-程序员宅基地

文章浏览阅读1.6k次,点赞9次,收藏46次。第二部分 初章 网络爬虫初识4. 网络爬虫请求篇_python数据采集与网络爬虫报告

相机的标定之手机相机的标定_相机标定的相机可以是手机吗-程序员宅基地

文章浏览阅读4.3k次,点赞3次,收藏26次。相机的标定是 SLAM 最开始的部分,由于设备原因,这个星期只做了手机相机的标定。这篇文章主要就是介绍一下相机标定的原理以及用OpenCV中现有的函数或是Matlab做相机标定的过程。_相机标定的相机可以是手机吗

随便推点

MFC编译程序,缺少MFC动态链接库的解决-程序员宅基地

文章浏览阅读189次。MFC编译程序,缺少MFC动态链接库的解决问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等的解决方法解决方法: 1.将这些dll打包,和应用程序一起发布; 2.采用MFC静态编译;附1:VS2010中静态编译设置方法使用VS2010编译的程序在windows xp中运行时 经常会出现找不到 相关的DLL文..._mfc 去除dll mfc动态库

【经验分享】计算机专业如何自己增加项目经验?-程序员宅基地

文章浏览阅读4.1k次,点赞9次,收藏23次。来源知乎精选话题,已获得作者授权,详情见阅读全文 现状:最近在找软件开发的实习工作,分别参加了华为,CVTE等面试,在面试过程中,没有项目经验,立马就被面试官表示 没有任何..._知乎 计算机项目经历

精选114个JAVA本科的计算机毕业设计精品,有手就能上手-程序员宅基地

文章浏览阅读31次。对于即将迎来毕业设计的计算机专业的你,选择合适的题目和成功完成项目是个棘手的问题。Springboot电子政务理念的高校”校长信箱的设计与实现48q90。Springboot中小型企业物流管理系统的设计与实现ey32q。Springboot基于的流浪动物领养系统的设计与实现gz2gy。Springboot学生学业预警管理系统的设计与实现57j7l。Springboot高校餐饮管理系统的设计与实现ttu99。Springboot高校宿舍管理系统的设计与实现ukgdt。

程序加载是什么_ctf加载程序有什么用吗-程序员宅基地

文章浏览阅读2.4k次。程序加载是什么?解答:http://www.yayihouse.com/yayishuwu/chapter/1175_ctf加载程序有什么用吗

Python 求回归方程及显著性分析_linearregression方法怎么计算显著性python-程序员宅基地

文章浏览阅读806次,点赞15次,收藏5次。此外,stats.f.sf`的使用非常方便,可以通过调用`scipy.stats.f.sf(f_value, dfn, dfd)`来计算,其中f_value`是F统计量的值,`dfn`是分子自由度,`dfd`是分母自由度。stats.f.sf`是用于计算F分布生存函数的函数,它在假设检验中用于评估F统计量对应的p值,可以帮助判断数据中的方差是否具有统计学上的显著性差异。- **进行双侧检验**:如果是双侧检验,通常需要将`stats.f.sf`计算出的值乘以2,或者使用其他方法来计算双尾概率。_linearregression方法怎么计算显著性python

HCIE-Cloud Computing LAB备考第二步:模拟测试--第四题:升级FA/VRM_hcie云计算实验-程序员宅基地

文章浏览阅读183次。使用需要把文件放在固定目录(C:\packages)里;【使用chrome浏览器升级】,否则会报错“软件包不存在”把VRM升级包放到如下路径中但是还是报错“SHA256校验文件不存在”换成IE浏览器就都可以了。_hcie云计算实验

推荐文章

热门文章

相关标签