c语言字符输出出现汉字乱码_lanny的C语言笔记 ………………输出出现n次的字符...

fca00bb8611ded254a25ada246878033.png

题目解析:

要点结构

首先统计字符串的长度,看题目要求是否区分大小写。

如果不区分,第二步,利用+-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;

}

附上一道简单题

d2d298ac13706f6e40dbb6d826ba1e41.png

思路:,先找最大值,再循环统计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值