C语言 输入一个字符串,统计各字母出现的次数,输出出现了4次的所有字母。 英文字母区分大小写。
输入一个字符串(不超过100个字符,允许带空格),统计各字母出现的次数,输出出现了4次的所有字母。英文字母区分大小写。测试输入:Pleasesayhellotoyourp...
输入一个字符串(不超过100个字符,允许带空格),统计各字母出现的次数,输出出现了4次的所有字母。 英文字母区分大小写。
测试输入:Please say hello to your parents, oh.
测试输出:
e
o 展开
测试输入:Please say hello to your parents, oh.
测试输出:
e
o 展开
2个回答
展开全部
#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;
}
}
展开全部
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);}
有什么问题请留言。
{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);}
有什么问题请留言。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询