C语言 输入一个字符串,统计各字母出现的次数,输出出现了4次的所有字母。 英文字母区分大小写。

输入一个字符串(不超过100个字符,允许带空格),统计各字母出现的次数,输出出现了4次的所有字母。英文字母区分大小写。测试输入:Pleasesayhellotoyourp... 输入一个字符串(不超过100个字符,允许带空格),统计各字母出现的次数,输出出现了4次的所有字母。 英文字母区分大小写。
测试输入:Please say hello to your parents, oh.
测试输出:
e
o
展开
 我来答
自我编程
2019-03-21 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

#include <stdio.h>
#include <malloc.h>
#include <string.h>
void init(int cASCII[52][2]);//初始化数组
int main()
{
    char str[]="Please say hello to your parents,oh.";
    int i,j,cASCII[52][2];
    init(cASCII);
    printf("输入:%s\n",str);//输入我就懒得手输了,直接初值,你要手输,加个scanf吧
    for(i=0;i<52;i++)
        for(j=0;j<strlen(str);j++)
        {
            if(cASCII[i][0]==str[j])
                cASCII[i][1]++;
        }
    for(i=0;i<52;i++)
        if(cASCII[i][1]==4)//出现4次的字母
            printf("%c\n",cASCII[i][0]);
    return 0;
}
void init(int cASCII[52][2])//初始化数组
{
    int asc,i;//cASCII存储大小写52个字母的ASCII码及出现次数
    //65~90对应大写字母A~Z
    asc=65;
    for(i=0;i<26;i++)
    {
        cASCII[i][0]=asc++;
        cASCII[i][1]=0;
    }
    //97~122对应大写字母a~z
    asc=97;
    for(;i<52;i++)
    {
        cASCII[i][0]=asc++;
        cASCII[i][1]=0;
    }
}
Yuqi_Tan

2019-03-21 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3467万
展开全部
char()
{char st[100],a='a',A='A',*s;
int c[26]={0},C[26]={0},i;
gets(st);
s=st;
while(*s)
{if(*s>=a&&*s<a+26)c[*s-a]++;
else if(*s>=A&&*s<A+26)c[*s-A]++;
s++;}
for(i=0;i<26;i++)
if(c[i]==4)printf("%c\n",a+i);
for(i=0;i<26;i++)
if(C[i]==4)printf("%c\n",A+i);}
有什么问题请留言。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式