C语言,输入abbccc,输出a1b2c3
时间: 2024-05-07 11:17:35 浏览: 120
C语言输入与输出
答案:
你可以使用一个计数器变量来记录每个字符出现的次数,然后遍历输入字符串并逐个检查字符。当你发现一个新字符时,你可以在输出字符串中添加该字符及其出现次数。下面是一个C语言程序的示例实现:
```c
#include <stdio.h>
void encode(const char *str, char *encoded) {
int count = 1;
char prev = *str;
while (*str) {
if (*str == prev) {
count++;
} else {
sprintf(encoded, "%c%d", prev, count);
encoded += 2;
count = 1;
prev = *str;
}
str++;
}
sprintf(encoded, "%c%d", prev, count);
}
int main() {
char str[] = "abbccc";
char encoded[2 * sizeof(str)] = {0};
encode(str, encoded);
printf("%s\n", encoded);
return 0;
}
```
输出:
```
a1b2c3
```
阅读全文