规定输入的字符串中只包含字母和*号。程序要实现的功能是:删除字符串中所有的*号。 例如,字符串中的内容为:****A*BC*DEF*G******* ,删除后字符串中的内容应当是: ABCDEFG。用c语言
时间: 2023-12-04 13:39:49 浏览: 153
以下是用C语言实现删除字符串中所有的*号的代码:
```c
#include <stdio.h>
#include <string.h>
void delete_star(char *str) {
int j = 0;
for (int i = 0; str[i]; i++) {
if (str[i] != '*') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[] = "****A*BC*DEF*G*******";
delete_star(str);
printf("%s\n", str); // 输出:ABCDEFG
return 0;
}
```
相关问题
使用c语言现在有一串字符需要输入,规定输入的字符串中只包含字母和*号。请编写程序,实现以下功能:除了字符串前后的*号之外,将串中其他的*号全部删除。 例如,假设输入的字符串为**A*BC*DEF*G**,删除串中的*号后,字符串变为**ABDEFG**
你可以使用以下的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`函数将字符串前面的*号删除,然后使用一个循环将字符串后面的*号删除,最后再使用一个循环将字符串中间的*号删除。最终得到的字符串即为删除*号后的结果。
任务7:规定输入的字符串只包含字母和*号,请编程实现:将串中的所有*号全部删除。例如:字符串中的内容为:***A*BC*DEF*G*******,删除后,字符串中的内容应当是:***ABCDEFG*******C语言编写
以下是C语言编写的删除字符串中所有*号的程序:
```c
#include <stdio.h>
void delete_star(char *str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != '*') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100] = "***A*BC*DEF*G*******";
delete_star(str);
printf("%s\n", str); // 输出:***ABCDEFG*******
return 0;
}
```
阅读全文
相关推荐
















