字符串处理题,这里用C风格字符串。
解这种模拟题,最好单独用一个文本用来“读题”:
1、把字符串按行读入
2、对每个字符串映射一个计数变量count,初始化为0;
3、2维循环遍历,对每一种color值,在第二维遍历中,遇到同种color,count++;
4、结束计数之后,设置两个变量max_count和p,分别用于更新最大的count和对应的位置。具体操作是一次遍历每一个color对应的count,结束遍历时,max_count存放的就是最大的count,p就存放着最大max_count对应的color的位置。
#include<stdio.h>
#include<string.h>
char a[1005][20];
int count[1005];
int main()
{
freopen("in","r",stdin);
int n;
while(scanf("%d",&n)!=EOF && n!=0){
int i,j,max_count=0,p;
getchar();
for(i=0;i<n;i++){
fgets(a[i],20,stdin);
}
memset(count,0,sizeof(count));
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(strcmp(a[i],a[j])==0){
count[i]++;
}
}
if(max_count<count[i]){
max_count = count[i];
p = i;
}
}
printf("%s",a[p]);
}
return 0;
}
本文详细介绍了如何使用C语言解决字符串处理题目的方法,包括读取字符串、计数相同字符串、查找最大计数值及对应位置等步骤。通过实例演示了如何实现字符串的高效处理。
3万+

被折叠的 条评论
为什么被折叠?



