使用c语言现在有一串字符需要输入,规定输入的字符串中只包含字母和*号。请编写程序,实现以下功能:除了字符串前后的*号之外,将串中其他的*号全部删除。 例如,假设输入的字符串为**A*BC*DEF*G**,删除串中的*号后,字符串变为**ABDEFG**
时间: 2024-05-03 12:15:38 浏览: 84
你可以使用以下的C语言代码来实现这个功能:
```c
#include <stdio.h>
#include <string.h>
void removeStars(char* str) {
int len = strlen(str);
int i, j;
// 删除字符串前面的*号
for (i = 0; i < len; i++) {
if (str[i] != '*') {
break;
}
}
strcpy(str, str + i);
// 删除字符串后面的*号
len = strlen(str);
for (i = len - 1; i >= 0; i--) {
if (str[i] != '*') {
break;
}
}
str[i + 1] = '\0';
// 删除字符串中间的*号
len = strlen(str);
j = 0;
for (i = 0; i < len; i++) {
if (str[i] != '*') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
removeStars(str);
printf("删除*号后的字符串为:%s\n", str);
return 0;
}
```
这段代码中,我们首先使用`strcpy`函数将字符串前面的*号删除,然后使用一个循环将字符串后面的*号删除,最后再使用一个循环将字符串中间的*号删除。最终得到的字符串即为删除*号后的结果。
阅读全文