字符串碎片

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41275621/article/details/79334661
一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。

输入描述:
输入包括一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),s只含小写字母('a'-'z')


输出描述:
输出一个整数,表示所有碎片的平均长度,四舍五入保留两位小数。

如样例所示: s = "aaabbaaac"
所有碎片的平均长度 = (3 + 2 + 3 + 1) / 4 = 2.25

输入例子1:
aaabbaaac

输出例子1:
2.25
#include <stdio.h>

int main()
{
	char s[100];
	scanf("%s",s);
	int ret = 1;
	float sum = 0;//和 
	int times = 0;//记录段数 
	for(int i = 0;s[i] != '\0';i++)
	{
		if(s[i] == s[i+1]){
			ret++;
		}
		if(s[i] != s[i+1])
		{
			sum += ret;
			times++;
			ret = 1;
		}
	}
	printf("%.2f",sum/times);
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_41275621/article/details/79334661