@sensitive-cs
2016-10-19T16:47:08.000000Z
字数 534
阅读 855
一个字符串只包含两个字母,从第一个起开始取,每当遇到不同的字母或者取的相同的字母达到5时,取字母的次数便增加一,然后从结束位置的下一个开始取。
统计每个字母连续出现的个数,用一个数组b保存,当大于5时重新计数。比如说qqwwwqwqwwwwww,则它们出现的字数就为2,3,1,1,1,5,1。
最后,对于数组b中的每一个数,如果小于等于5,则result+1;若大于5且对5
取余不为0,则result += b[i]/5+1;若取余为0,则result += b[i]/5。
#include <stdio.h>
char a[110];
char b[110];
int main()
{
int i = 0,j = 0,result = 0;
scanf("%s",a);
while (a[i] != '\0')
{
char flag = a[i];
while(a[i] == flag)
{
b[j]++;
i++;
}
j++;
}
for (i = 0;i < j;i++)
{
if (b[i] < 5)
result++;
else if (b[i] % 5 == 0)
result += b[i] / 5;
else
result += (b[i] / 5 + 1);
}
printf("%d\n",result);
return 0;
}