C语言如何利用ASCII码表统计字符串每个字符出现的次数

 更新时间:2023年01月28日 09:26:14   作者:yma16  
这篇文章主要介绍了C语言如何利用ASCII码表统计字符串每个字符出现的次数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

利用ASCII码表统计字符串每个字符出现的次数

在C语言里面写个能够统计并打印字符串中字符出现次数心想这不是常规操作吗?

定义两个char数组,输入,赋值给另一个字符数组

通过一个for循环嵌套两个for循环,比较,相同的值数组赋值=‘*’。

然后判断当数组值不等于0的时候和原数组进行比较再打印输出”

我的代码

#include<stdio.h>
#include<string.h>
#define maxsize 100
int main(void){
	char s[maxsize],s1[maxsize];
	scanf("%s",s);
	for(int i=0,length=strlen(s);i<length;++i){
		s1[i]=s[i];
	}
	for(int i=0,length=strlen(s);i<length;++i){
		for(int j=i+1;j<length;++j){
			if(s[i]==s[j]){
				s1[j]='*';
			}
		}
		if(s1[i]!='*'){
			int number=0;
			for(int k=0;k<length;++k){
				if(s1[i]==s[k]){
					++number;
				}
			}
			printf("%c出现次数:%d\n",s1[i],number);
		}
	}
}

运行正确

##但是老胡的方法更为简单粗暴,直接利用相同字符对应的数字一样作为数组下标,进行自加

想法很新颖,代码也少……服了

#include<stdio.h>
#include<string.h>
#define maxsize 100
int main(void){
	char s[maxsize];
	scanf("%s",s);
	int asc[127]={0};//a-z字符对应ASCII码表小写字母97-122,大写字母是 65-90,小写大写相差32 
	for(int i=0,length=strlen(s);i<length;++i){
		asc[int(s[i])]++;//对应的ASCII码下标加1,同一个字母对应的下标都相同,进行计数 
	} 
	for(int j=0;j<123;++j){
		if(asc[j]!=0){
			printf("字母%c出现次数:%d\n",j,asc[j]);
		}	
	} 
} 

但是这个程序还有个不好的地方,没有按照输入字符串的顺序打印,而是从A-Z a-z打印的

emmm……

我觉得C的输入输出太麻烦还是C++好

总结 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何利用Matlab绘制出好看的火山图

    如何利用Matlab绘制出好看的火山图

    火山图是散点图的一种,它将统计测试中的统计显著性量度和变化幅度相结合,从而能够帮助快速直观地识别那些变化幅度较大且具有统计学意义的数据点。本文将通过Matlab绘制好看的火山图,需要的可以参考一下
    2022-03-03
  • C++ ostream用法案例详解

    C++ ostream用法案例详解

    这篇文章主要介绍了C++ ostream用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C/C++中带空格字符串的输入讲解

    C/C++中带空格字符串的输入讲解

    这篇文章主要给大家介绍了关于如何解决C++中带空格字符串的输入问题,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2021-09-09
  • C语言循环结构详解

    C语言循环结构详解

    本文主要介绍C语言循环结构的基础知识,这里整理了循环的基础资料并附简单的代码示例详细讲解,有需要的小伙伴可以参考下
    2021-10-10
  • c语言中缺省参数的类型总结

    c语言中缺省参数的类型总结

    在本篇文章里小编给大家整理了一篇关于c语言中缺省参数的类型总结内容,有兴趣的朋友们可以跟着学习参考下。
    2021-09-09
  • 深入C++中inline关键字的使用

    深入C++中inline关键字的使用

    本篇文章是对C++中inline关键字的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++中约数定理的实例详解

    C++中约数定理的实例详解

    这篇文章主要介绍了C++中约数定理的实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • C++使用string的大数加法运算(1)

    C++使用string的大数加法运算(1)

    这篇文章主要为大家详细介绍了C++使用string的大数加法运算,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • C语言判断一个数是否为素数方法解析

    C语言判断一个数是否为素数方法解析

    这篇文章主要介绍了C语言判断一个数是否为素数方法,文中通过示例代码介绍的非常详细,对大家的学习具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 解析C++编程中如何使用设计模式中的状态模式结构

    解析C++编程中如何使用设计模式中的状态模式结构

    这篇文章主要介绍了如何在C++编程中适用设计模式中的状态模式结构,状态模式强调将特定状态相关的逻辑分散到一些类的状态类中,需要的朋友可以参考下
    2016-03-03

最新评论