c语言 输入字符串,字符串中有若干星号*,去掉字符串首尾的星号(*),保留中间的星号。 字符串长度不大于200. 输入:带有*号的字符串。 输出:首尾不带*号的字符串。 样例: ***street**music**** street**music
时间: 2023-11-25 09:51:22 浏览: 60
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[201];
scanf("%s", str);
int len = strlen(str);
int start = 0, end = len - 1;
while (str[start] == '*') {
start++;
}
while (str[end] == '*') {
end--;
}
for (int i = start; i <= end; i++) {
if (str[i] == '*') {
printf("*");
} else {
printf("%c", str[i]);
}
}
return 0;
}
```
--相关问题--:
1. 如何判断一个字符串是否只包含字母和*号?
2. 如
相关问题
C语言编写程序去除字符串中的星号
好的,您可以使用C语言中的字符数组和循环来去除字符串中的星号,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char string[] = "****A*BC*DEF*G*******";
int len = strlen(string);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (string[i] != '*') {
string[j++] = string[i];
}
}
string[j] = '\0';
printf("%s\n", string);
return 0;
}
```
输出结果为:
```
ABCDEFG
```
在上面的代码中,我们使用了两个变量 `i` 和 `j`,其中 `i` 是遍历字符串的索引,`j` 是指向新字符串的索引。当遍历到非星号字符时,将其保存到新字符串的指定位置,并将 `j` 加一,以便下一个字符的保存。最后,将新字符串的最后一个字符标记为字符串结束符 `'\0'`。
如何用c语言删除字符串的前导*号
您好,以下是C语言中删除字符串前导*号的示例代码:
```
#include<stdio.h>
#include<string.h>
#define MAX_LENGTH 100
char* remove_star(char* str) {
int i=0;
while(str[i]=='*') {
i++;
}
return (str+i);
}
int main() {
char str[MAX_LENGTH];
printf("请输入一个包含*号的字符串:\n");
scanf("%s", str);
char* new_str = remove_star(str);
printf("删除前导*号后的字符串为:%s\n", new_str);
return 0;
}
```
该代码通过循环找到字符串中第一个不是*号的字符,然后返回该字符的地址,从而实现删除前导*号的操作。