统计字符串中各字符出现的频度

统计字符串中各字母出现的频度(不计大小写)
#include<stdio.h>
#include<stdlib.h>

#include<iostream>
#define MAX 100
using namespace std;
void doit(char *str, int count[26])
{
char *p;

// 遍历字符串
for (p = str; *p; p++) {
// 如果是小写字母
if ('a' <= *p && *p <= 'z')
count[*p - 'a']++; // 字母对应的计数加一
else if ('A' <= *p && *p <= 'Z') // 如果是大写字母
count[*p - 'A']++;
}
}

int main()
{
int i;
int count[26] = { 0 };
char str[MAX];
puts("input string:");
gets(str);

doit(str, count);
for(i=0;i<26;i++)
if(count)cout<<char(i+'a')<<" ";
cout<<endl;
for(i=0;i<26;i++)
if(count)
cout<<count<<" ";
system("pause");
return 0;
}


统计各字符出现的频度
#include "stdio.h"
#include<stdlib.h>
#define Max 100
int fun(char str[],char a[],int c[])
{
int i,j,k=0,len=0;
for(;str[len]!='/0';len++);
a[0]=str[0];c[0]=1;k++;
for(i=1;i<len;i++)
  c=0;
for(i=1;i<len;i++)
{ j=0;
  while(j<k&&a[j]!=str) j++;
  if(j==k)
{
   a[k]=str;
   c[k]++;
   k++;
}
else
  c[j]++;
}
return k;
}
main()
{
char str[Max],a[Max];
int c[Max],k,i;
printf("输入字符串:");
gets(str);
k=fun(str,a,c);
printf("统计结果如下:/n");
printf("字符");
for(i=0;i<k;i++)
printf("%3c",a);
printf("/n");
printf("频度");
for(i=0;i<k;i++)
printf("%3d",c);
printf("/n");
system("pause");
}

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值