字符串的统计字符串

本文介绍了一种方法来统计给定字符串中每个字母的出现次数,并通过实例展示了实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给定一个字符串,统计每一个字母的出现次数

比如aabbccc,打印出来就是a_2_b_2_c_3

思路还是采取遍历,注意这几个题的思路都比较类似

要注意这里的sstream 这里的clear()并非清空了缓冲区,而只是重置标志,如果要重置缓冲区,则应为ss.str(“”)

#include <iostream>
#include <string>
using namespace std;
void CalNumberOfLetter(string str)
{
  int num=1;
  stringstream ss;
  string end="";
  string record="";
  record=str[0];
  string add="";
  for(int i=1;i<str.length();i++)
  {
    if(str[i]==str[i-1])
	{
	  num++;
	}
	else
	{
		ss.clear();
		ss<<num;
		ss>>add;
		end+=record+"_"+add+"_";
		record=str[i];
	  num=1;
	}

  }
        ss.clear();
		ss<<num;
		ss>>add;
		end+=record+"_"+add;
  cout<<end<<endl;
}
int main()
{

	string test="aabbcccddddeeeee";
	CalNumberOfLetter(test);

	
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值