c++
来源:互联网 发布:智能数据盒子 编辑:程序博客网 时间:2024/06/05 07:41
输入一个字符串,统计字符串中各字母出现单位个数,只统计26个字母,不区分大小写,其他特殊字符不统计,最后将结果输出(结果就是字符a多少个,字符b多少个……)
#include<stdio.h>
#define N 100
void
count(
char
str[],
int
times[])
//统计小写字符出现次数
{
int
i;
for
(i=0;str[i]!=
'\0'
;i++)
{
if
(str[i]>=
'a'
&& str[i]<
'a'
+26)
//只统计小写字符
times[str[i]-97]++;
//字符a的ascii码为97,str[i]-97正好将26个字母对应在times数组的26个位置上。
}
}
int
main()
{
char
str[N];
int
i,times[26];
//time数组中每一个元素代表一个小写字符,其值代表字符的出现次数
for
(i=0;i<26;i++)
//初始化,所有字符次数置0
times[i]=0;
scanf
(
"%s"
,str);
//读入字符串
count(str,times);
//调用函数统计次数,让times装载统计结果
for
(i=0;i<26;i++)
//输出结果,小写字符a的ascii码为97.
{
if
(times[i]>0)
printf
(
"%c出现了%d次\n"
,i+97,times[i]);
}
return
0;
}
0 0