本帖最后由 huzhiqiang 于 2016-5-27 21:27 编辑
//1.一个字符串"accbsadnnssdhbascksfnascbas"中,遍历其中a的数量,b的数量,c的数量,d的数量
//2.在1的基础上按照由多到少的顺序输出字符串中的a,b,c,d
据说可以用结构体做,而且更简单,可惜我不会,,,如果有会的分享下哦
#include <stdio.h>
int main(int argc, const char * argv[]) {
char ch[]="accbsadnnssdhbascksfnascbas";
int len = sizeof(ch) - 1;
char cha[len],chb[len],chc[len],chd[len];//声明4个字符数组分别用于存放找到的字符a,b,c,d
int la = 0,lb = 0, lc = 0, ld = 0;//定义4个变量,用于计数
for(int i = 0; i < len; i++ )//遍历字符数组ch,将找到的字符a,b,c,d分别存放到数组cha,chb,chc,chd中
{
if(ch == 'a')
{
cha[la] = 'a';
la++;//计算有多少字符a
}
else if(ch == 'b')
{
chb[lb] = 'b';
lb++;//计算有多少字符b
}
else if(ch == 'c')
{
chc[lc] = 'c';
lc++;//计算有多少字符c
}
else if(ch == 'd')
{
chd[ld] = 'd';
ld++;//计算有多少字符d
}
else
continue;
}
//在1的基础上按照由多到少的顺序输出字符串中的a,b,c,d
for(int i = 0; i < 4; i++)
{
if(la > lb && la > lc && la >ld)
//如果la大于lb,lc,ld,就输出字符串cha
{
printf("a 有%d个 %s\n",la,cha);
la = -1;
}
else if(lb > la && lb > lc && lb >ld)
{
printf(b 有%d个 %s\n",lb,chb);
lb = -1;
}
else if(lc > lb && lc > la && lc >ld)
{
printf("a 有%d个 %s\n",lcchc);
lc = -1;
}
else if(ld > lb && ld > lc && ld >la)
{
printf("a 有%d个 %s\n",ld,chd);
ld = -1 ;
}
}
|
|