题解 | #字符统计#
字符统计
https://www.nowcoder.com/practice/c1f9561de1e240099bdb904765da9ad0
#include <ctype.h>
#include <stdio.h>
int main()
{
int a, b,max1,len;
int js[36]={0};
char str2;
char str1[1000];
gets(str1);
len=strlen(str1);
for(a=0;a<len;a++)//个数统计0-9,a-z
{
if(isdigit(str1[a]))
js[str1[a]-'0']++; //榜2竟然没做转化,好像也挺合理的
else
js[str1[a]-'a'+10]++;
}
while(len>0)
{
max1=0;
for(b=0;b<36;b++) //最大数判断
{
if(max1<js[b])
{
max1=js[b];//找出最大数
}
}
len--; //最小为1
for(b=0;b<=35;b++)
{
if(js[b]==max1&&max1!=0) //MAX不能为0,找出最大并输出
{
if(b>9)
{
str2=b+'a'-10;
printf("%c",str2);
}
else if(b<=9)
{
str2=b+'0';
printf("%c",str2);
}
js[b]=0; //输出后该位置置为0
}
}
}
return 0;
}
查看8道真题和解析