c语言删除指定字符acm
时间: 2024-01-13 18:04:46 浏览: 92
以下是使用C语言删除指定字符acm的代码示例:
```c
#include <stdio.h>
#include <string.h>
void deleteChars(char *str, const char *chars) {
int i, j, k;
int len = strlen(str);
int charsLen = strlen(chars);
for (i = j = 0; i < len; i++) {
for (k = 0; k < charsLen && str[i] != chars[k]; k++);
if (k == charsLen) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
char chars[] = "acm";
printf("请输入一个字符串:");
scanf("%s", str);
deleteChars(str, chars);
printf("删除指定字符后的字符串为:%s\n", str);
return 0;
}
```
相关问题
C语言 字符串去特定字符 ACM答法
在C语言中,如果你想从字符串中去除特定的字符,可以采用循环遍历字符串并判断每个字符是否需要删除,然后将其复制到新的字符串中。这里提供一种简单的ACM风格的算法示例:
```c
#include <stdio.h>
#include <string.h>
char* remove_char(char *str, char to_remove) {
int len = strlen(str);
char new_str[len + 1]; // 为新字符串分配空间,包括终止符'\0'
for (int i = 0; i < len; i++) {
if (str[i] != to_remove) {
new_str[i] = str[i];
}
}
new_str[len] = '\0'; // 确保新字符串结束
return new_str;
}
int main() {
char input[] = "Hello, World!";
char char_to_remove = ',';
printf("Original string: %s\n", input);
char* result = remove_char(input, char_to_remove);
printf("String after removing '%c': %s\n", char_to_remove, result);
free(result); // 防止内存泄漏,注意在实际项目中处理好字符串指针
return 0;
}
```
在这个例子中,`remove_char` 函数接收一个字符串和一个目标字符作为参数,然后创建一个新的字符串,并逐个复制原字符串中的字符,跳过指定的字符。最后返回新的字符串。
阅读全文