将字符串中连续相同的字符表达成字符加个数的形式输出

例如 hello  输出hel2o; 

#include<stdio.h>
#include<string.h>
void spluscount(char *string)
{
  int n=strlen(string);
  char k;
  int s=0;
  int count=1;
  char outstring[32]={0};  //定义重新输出的数组
  for(int i =0; i <=n;)
  {
    k=string[i];        //   取一个字符
for(int j =i+1; j <= n;j++)  //判断后面有几个字母和所取字符相等
if(k==string[j])
{
  count++;
  i++;
}
else                   //如果不相等了,重新输入输出数组中等待最终输出
{
 if(count==1)
outstring[s]=k;
 else
 { 
 outstring[s]=k;
 count=count+'0';
 outstring[++s]=count;}
puts(outstring);
  s++;
  i++;
  count=1;
  break;
}
  
  
  }
  // puts(outstring);


}
 int main(void)
 {
  char a[]="asedseeesesees";
 // char b[10];
  spluscount(a);
 


 
 return 0;
 }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这可以通过使用循环和比较来实现。 思路是:遍历字符串的每个字符,如果当前字符和前一个字符不同,则将当前字符到结果字符串。 代码实现: ``` def remove_duplicates(s): result = "" for i in range(len(s)): if i == 0 or s[i] != s[i - 1]: result += s[i] return result ``` 示例: ``` >>> remove_duplicates("aabcccccaaa") 'abc' ``` ### 回答2: 要将字符串连续相同字符仅保留1个,可以通过迭代字符串来实现。 首先,定义一个空字符串res,用于保存处理后的字符串。 然后,从左到右遍历输入字符串。对于当前字符,如果与下一个字符不同,则将当前字符入res,保留1个。如果与下一个字符相同,则跳过当前字符,继续遍历下一个字符。 最后,输出res即为处理后的字符串,其连续相同字符仅保留1个。 下面是一个具体的实现示例: ```python def remove_duplicates(string): res = "" for i in range(len(string)-1): if string[i] != string[i+1]: res += string[i] res += string[-1] return res input_string = "AABBCCDDEEFF" output_string = remove_duplicates(input_string) print(output_string) ``` 以上代码的输出结果为:ABCDDEF。输入字符串"AABBCCDDEEFF"经过处理后,连续相同字符仅保留1个,得到的字符串为"ABCDDEF"。 ### 回答3: 将字符串连续相同字符仅保留1个的方法是通过遍历字符串,判断当前字符和下一个字符是否相同,如果相同,则将下一个字符删除,继续遍历下一个字符,直到遍历完。 具体步骤如下: 1. 初始化一个空字符串来保存结果。 2. 遍历原始字符串,从第一个字符开始。 3. 对于当前字符,比较它和下一个字符是否相同。 4. 如果相同,则跳过该字符,继续遍历下一个字符。 5. 如果不相同,则将该字符连接到结果字符串。 6. 继续遍历下一个字符,直到遍历完。 7. 返回结果字符串。 以下是一个示例代码: ```python def remove_duplicate_chars(string): result = "" for i in range(len(string) - 1): if string[i] != string[i+1]: result += string[i] # 将最后一个字符入结果字符串 result += string[-1] return result # 测试 original_string = "aaabbbcccdddeee" result_string = remove_duplicate_chars(original_string) print(result_string) # 输出: "abcde" ``` 通过以上步骤,我们可以将字符串连续相同字符仅保留1个。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值