一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。
#include<iostream>
#include<iomanip>
#include<string.h>
#include<stdlib.h>
using namespace std;
int main()
{
string str;
cin>>str;
char c=str[0];
int flag=1;
for(int i=0; i<str.length(); i++)
{
if(c==str[i])
;
else
{
flag++;
c=str[i];
}
}
float avg=(float)str.length()/flag;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<avg<<endl;
}
setiosflags(ios::fixed),小数精确度;setprecision(2)有效位数;#include<iomanip>头文件。
如果没有setiosflags(ios::fixed)只是保留有效位数。