close
題意:
對於每行文字輸出出現最多次的大小寫英文字母,如果有一樣多的就按照A-Z.a-z的順序輸出
解法:
對於每行文字去計數然後輸出最多的
程式碼:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX(x,y)( ((x)>(y))?(x):(y) )
char str[1234567];
int num[256];
int main(){
int i;
int max;
while(gets(str)){
if(str[0]=='\0')continue;
memset(num,0,sizeof(num));
for(i=0;str[i]!='\0';++i)++num[(int)str[i]];
max = 0;
for(i='A';i<='Z';++i)max = MAX(max,num[i]);
for(i='a';i<='z';++i)max = MAX(max,num[i]);
for(i='A';i<='Z';++i)if(num[i]==max)putchar(i);
for(i='a';i<='z';++i)if(num[i]==max)putchar(i);
printf(" %d\n",max);
}
return 0;
}
全站熱搜
留言列表