栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 设计一个子函数,分别统计任意一串字符中 26 个字母的个数,并在主函数中输入任意一串字符,调用此函数统计。

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 设计一个子函数,分别统计任意一串字符中 26 个字母的个数,并在主函数中输入任意一串字符,调用此函数统计。

设计一个子函数,分别统计任意一串字符中 26 个字母的个数,并在主函数中输入任意

一串字符,调用此函数统计。

思路:利用ASCII码表中字母对应的数字编号进行统计

1.在子函数中定义一个长度为123的一维数组(主要利用的是65-80,97-122这几个数字与ASCII对应,其他的可以不管),参数数组定义为字符数组此处为(char a)

2.for(i=0;i<20;i++){
    b[a[i]]++;
    }//其中b[a[i]]++;就完成了字母每出现一次,在b数组对应编号上的元素就加一

3.遍历数组输出下标为65-90中不为0的元素(如果不区分大小写就是b[i]+b[i+32],因为ASCII中大小写字母的编号就相差32,如A-65,a-97)区分大小写则再输出下标为97-122的元素,对应下标元素为几对应字母就出现了几次

4.主函数调用子函数即可

#include
#include

//子函数
void calculate(char a[20]){
	int i,j;
	int b[123];
	for(i=0;i<123;i++){
	b[i]=0;//这一步将b数组初始化为零数组
	}
	for(i=0;i<20;i++){
	b[a[i]]++;//此步统计字符串中字母出现次数
	}
	for(i=65;i<91;i++){
	if(b[i]!=0||b[i+32]!=0){
		printf("%c有%d个n",i,b[i]+b[i+32]);//此步输出字母出现次数(不分大小写)
	}
	}
}
//主函数
int main(){
	char s[20];
	printf("请输入一个字符串n");
	gets(s);
	calculate(s);
	system("pause");
	return 0;
}

欢迎批评指正

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893298.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号