欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

统计一个英文字符串每个英文字符出现的次数

程序员文章站 2022-04-15 17:41:54
...

//统计一个英文字符串每个英文字符出现的次数
//例:AbcAAbccbAC
//out:‘A’:4次 ‘b’:3次 ‘c’:3次 ‘C’:1次

//1.0
#include<stdio.h>
#define N 256
#include<string.h>
void countword(char s[]){
	char c[N];
	int v[N];
	int i=0,j,n=0,cnt;
	while(s[i]){//将数组s的各元素保存到数组c中 
	for(j=0;j<n&&c[j]!=s[i];j++);
	if(j==n){                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
		c[j]=s[i];
		n++;
	}
	i++;
	}
	for(j=0;j<n;j++){//用数组v来计数对应元素的个数 
		cnt=0;//每一轮累加器置‘0 ’ 
		for(i=0;s[i];i++){ 
		if(c[j]==s[i])
		cnt++;
		} 
		v[j]=cnt;
	}
	for(j=0;j<n;j++){
		printf("%c--%d\n",c[j],v[j]);
	}
	}
int main() {
	char s[N];
	//输入字符串 
	gets(s);
	//计数并输出 
	countword(s);
	return 0;
}
//2.0
#include <stdio.h>
#include<string.h>
#define N 256
void Countword(char s[]){
	int i=0;
	char t[N]={0};
		while(s[i]){
		t[s[i++]]++;//将数组s里面的元素作为新数组下标记录个数
        //i++;
		}
        for(i=0;i<N;i++){
		if(t[i]!=0){
			printf("%c==%d\n",i,t[i]);
		}
	}
	}
int main()
 {
    char s[N];
    //输入字符串
    gets(s);
    //计数并输出
    Countword(s);
    return 0;
}