#include <stdio.h>
#include <stdlib.h>
int main(){
printf("输入字符串:\n");
char cs[1024];
scanf("%s", cs);
int count[256] = {0};
for(int i=0; cs[i]; i++) count[cs[i]]++;
int max = -1;
char c = 0;
for(int i=0; i<256; i++){
if(count[i] > max){
max = count[i];
c = (char)i;
}
}
printf("出现次数最多的是:%c", c);
return 0;
}
扩展:找出字符串数组中出现次数最多的字符串
代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int N;
char* strings[1001];
int max = 0;
int index = 0;
int main(){
scanf("%d", &N);
for(int i=0; i<N; i++){
char* str = (char*)malloc(sizeof(char)*15);
scanf("%s", str);
strings[i] = str;
}
char* Tstr;
int temp = 0;
for(int i=0; i<N; i++){
Tstr = strings[i];
for(int j=0; j<=i; j++){
if(strcmp(Tstr, strings[j]) == 0)
temp++;
}
if(temp > max){
max = temp;
index = i;
}
temp = 0;
}
printf("出现次数最多的字符串是:%s", strings[index]);
return 0;
}