1、统计出字符串中最多的字母有多少个
#include<stdio.h>
#include<string.h>
int main()
{
char s[1010];
int T,i,j,k=0,max;
scanf("%d",&T);
getchar();
while(T--)
{
int b[26]={0};
max=0;
scanf("%s",s);
j=strlen(s);
for(i=0;i<j;i++)
b[s[i]-'a']++;
for(i=0;i<26;i++)
{
if(b[i]>max)
{
max=b[i];
k=i;
}
}
printf("%c\n",k+'a');
}
return 0;
}
从这里面学到的就是如何找到出现最多的字符(第一个for循环统计字母各有多少个,第二个找出最大的),并把它的数目输出
2、以空格隔开,求字符串中字母的位置
#include <stdio.h>
#include <string.h>
int main()
{
int n,i,j,len,first;
char str[51];
scanf("%d",&n);
for(i = 0;i < n;i++)
{
scanf("%s",str);
len = strlen(str);
first = 1;
for(j = 0;j < len;j++)
{
if(str[j] >= '0' && str[j] <= '9')
{
if(first)
{
first = 0;
}
else
{
printf(" ");
}
printf("%d", j + 1);
}
}
printf("\n");
}
return 0;
}
first的作用是:使第一个输出前面没有空格,其余的就好理解了