字符串问题
求一手删除*******wuai***wuwua****这样的两边的星号程序,感谢大佬。 遍历一下就好 本帖最后由 风过无痕1989 于 2020-12-22 23:29 编辑所有的*号全删除,程序如下:
#include <stdio.h>
#include<string.h>
int main()
{
int i = 0, j = 0, k, n;
char arr,srr;
printf("请输入字符串: ");
scanf("%s",arr);
n = strlen(arr);
while (arr != '\0')
{
if (arr != '*')
{
srr = arr;
j++;
}
i++;
}
srr = '\0';
printf("%s\n",srr);
printf("\n");
} 能只删两边的吗 鱼七啊 发表于 2020-12-23 00:20
能只删两边的吗
可以,这就改 鱼七啊 发表于 2020-12-23 00:20
能只删两边的吗
删除两边*号的程序,已经调试好了
#include <stdio.h>
#include<string.h>
char arr, srr;
int main()
{
int i = 0, j = 0, k = 0, n;
char arr, srr;
printf("请输入字符串: ");
scanf("%s", arr);
n = strlen(arr);
arr = '\0';
while (arr == '*') // 删除前面的*号
{
i++;
k++;
}
for (i = k;i < n;i++)
{
srr = arr;
j++;
}
srr = '\0';
for (i = j;i > 0;i--)
{
if (srr == '*' && srr != '*')
{
srr = '\0'; // 在后面的*号开始时,添加一个结束符(等效于删除后面的*号)
break;
}
}
printf("%s\n", srr);
printf("\n");
} 能把算法描述一下吗 鱼七啊 发表于 2020-12-24 11:44
能把算法描述一下吗
不好意思,才看到。这题谈不上算法,就遍历字符串,记下第一个不是*号的位置,然后,将后面的全部字符都另存到一个辅助数组,这就相当于删除了前面的*号
然后再从最后一个宽以待人开始,逐一向前查询,查到第一个不是*号的字符时,就在退后一个的位置,加上一个结束符
页:
[1]