题解 | #字符统计#
字符统计
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; }