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