使用【c语言】写【输入一个字符串str,找到所有包含三个连续字符的单词,所有单词通过空格来分割,并将这些包含三个连续字符的单词删除,输出处理后的字符串】的代码
时间: 2024-09-21 20:06:12 浏览: 32
字符串逆序-使用C语言实现的字符串按单词逆序.zip
在 C 语言中,你可以使用指针和循环结构来完成这个任务。下面是一个简单的示例,它首先读取字符串,然后遍历查找并移除含有三个连续重复字符的单词:
```c
#include <stdio.h>
#include <string.h>
void remove_triple_chars(char* str) {
int len = strlen(str);
if (len <= 2) return; // 如果字符串长度小于等于2,无需操作
char* current = str;
while (*current != '\0') { // 遍历字符串
// 检查当前字符是否是单词的一部分
if (*current == ' ') {
*current = '\0'; // 如果是空格,直接替换为结束符,跳过下一个单词
continue;
}
// 查找是否有三个连续的相同的字符
char prev_char = *current - 1;
if (prev_char == *current && prev_char == *(current + 1)) {
current++; // 跳过连续的两个字符
continue;
}
current++; // 否则,移动到下一个字符
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 从用户输入读取字符串
input[strcspn(input, "\n")] = '\0'; // 去掉换行符
remove_triple_chars(input);
printf("处理后的字符串: %s\n", input);
return 0;
}
```
在这个代码中,`remove_triple_chars` 函数会检查字符串中的每个字符,如果遇到空格,则认为是一个单词的结束,直接替换为空字符。同时,它还会检查连续的三个字符,如果有三个相同的字符,就跳过这三个字符继续处理。
阅读全文