统计字符串中各字母出现的频度(不计大小写)
#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");
}
统计字符串中各字符出现的频度
最新推荐文章于 2022-11-01 21:16:32 发布