对每个字符串做如下处理:删除字符串所有连续相同的字符,然后输出该字符串。 要求:使用函数void del_samechar(char str[])实现对字符串str中所有连续相同的字符的删除。
时间: 2024-05-10 09:16:54 浏览: 8
下面是一个实现该功能的示例代码:
```c
#include <stdio.h>
#include <string.h>
void del_samechar(char str[]) {
int i, j, len;
len = strlen(str);
for (i = j = 0; i < len; i++) {
if (str[i] != str[j]) {
j++;
str[j] = str[i];
}
}
str[j + 1] = '\0';
}
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, 100, stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉fgets读入的换行符
del_samechar(str);
printf("处理后的字符串为:%s\n", str);
return 0;
}
```
在上面的代码中,我们定义了一个函数`del_samechar`,它的参数是一个字符数组`str`。这个函数的实现思路是:利用两个指针`i`和`j`遍历字符串,如果发现`str[i]`不等于`str[j]`,则将`str[i]`赋值给`str[++j]`,否则跳过该字符。最后,将`str[j+1]`设置为字符串的结束符号`\0`即可。
在`main`函数中,我们先用`fgets`函数从标准输入读入一个字符串,然后调用`del_samechar`函数对该字符串进行处理,并输出处理后的字符串。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)