如果字符X在一行中出现不止一次,将所有连续出现的字符替换为XN的单个实列c语言代码
时间: 2023-06-15 18:06:49 浏览: 87
一次替换多个字符串,批量替换多个字符串 源代码
以下是使用C语言实现将所有连续出现的字符替换为XN的单个实例的代码:
```c
#include <stdio.h>
#include <string.h>
void replace(char str[]) {
int n = strlen(str);
int count = 0;
for (int i = 0; i < n; i++) {
if (str[i] == 'X') {
count++;
}
else {
if (count > 1) {
memmove(&str[i-count+1], "XN", 2);
memmove(&str[i-count+3], &str[i], n-i+1);
n = n - count + 2;
i = i - count + 2;
}
count = 0;
}
}
if (count > 1) {
memmove(&str[n-count+1], "XN", 2);
n = n - count + 2;
}
str[n] = '\0';
}
int main() {
char str[] = "AAABBBXXXXXXCCCDDEFGXXXX";
printf("Before: %s\n", str);
replace(str);
printf("After: %s\n", str);
return 0;
}
```
此代码将字符串中所有连续出现的字符X替换成XN的单个实例。例如,将字符串"AAABBBXXXXXXCCCDDEFGXXXX"替换成"AAABBBXNCCCDDEFGXN"。
阅读全文