33,311
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<stdlib.h>
void func(const char *src, int size)
{
unsigned char all[256] = {0};
int i;
if (src == NULL)
return;
while (size--)
{
++all[*(src + size)];
}
for (i = 0; i < 256; i++)
{
if (all[i] != 0)
{
printf("字符%c出现次数: %d\n", i, all[i]);
}
}
}
int main()
{
char a[20]={'a','g','d','e','s','a','f','r','d','a','d','g','5','5','62','1','f','6','e','f'};//'62'可能按'2'来处理
func(a, sizeof a / sizeof a[0]);
system("pause");
return 0;
}
//,用每个字符的与'0'相减,得出数组的下标,然后在相减之后“++数组”就可以得出每个字符的出现的次数!
void func(const char *src)
{
unsigned char all[256] = {0};
int i;
if (src == NULL)
return;
while (*src)
{
++all[*src]; //这是每种字符出现次数所存储的数组
++src; //这是所有字符存储的地方
}
for (i = 0; i < 256; i++)
{
if (all[i] != 0)
{
printf("字符%c出现次数: %d\n", i, all[i]);
}
}
}
void func(const char *src)
{
unsigned char all[256] = {0};
int i;
if (src == NULL)
return;
while (*src)
{
++all[*src];
++src;
}
for (i = 0; i < 256; i++)
{
if (all[i] != 0)
{
printf("字符%c出现次数: %d\n", i, all[i]);
}
}
}