题目解析:
要点结构
首先统计字符串的长度,看题目要求是否区分大小写。
如果不区分,第二步,利用+-32统一格式。 我们整体思路是,用一串字符从A到Z挨着对比过去,看看A到Z有哪些是在字符串中出现四次的。
第二步双重循坏,开头是(ch1='a';ch1<='z';ch1++)一注意给字符加‘’二提示我们字符也可看做数字,是有顺序规律的。
注意,从a开始循坏到结束,计数字母s是要重新赋值的。放在第二个循坏开始前面,第二个循坏,就是输出字符串,如果和ch1相等,便计数。
最后写如果第二个循环结束时s==4,输出ch1;
本题目的难点是语句位置的问题,s=0和if(s==4)这两个语句该放在哪儿,为什么要这么放,想清楚这点,题目就好搞多了。
附上代码供参考:
#include<stdio.h>
#include<string.h>
int main()
{
int i,s=0,l;
char a[100],ch1;
gets(a);
l=strlen(a);
for(i=0;i<l;i++)
{
if(a[i]<='Z'&&a[i]>='A')
{
a[i]=a[i]+32;
}
}
for(ch1='a';ch1<='z';ch1++)
{
s=0;
for(i=0;i<l;i++)
{
if(ch1==a[i])
{
s++;
}
}
if(s==4)
{
printf("%cn",ch1);
}
}
return 0;
}
附上一道简单题
思路:,先找最大值,再循环统计。