程序设计:将字符串中最前面和最后面的*号去掉,并将字符串中间1个或多个连续的*号替换为1个空格。
例如:初始字符串为:*****this*is****C****pro****
结果为:this is C pro
源程序:
#include<stdio.h>
#include<string.h>
void rep(char str1[],char str3[])
{
char str2[80];
int front,back,i,j;
for(front=0;str1[front]=='*';front++)//头部*位置
back=strlen(str1);//长度
for(;str1[back-1]=='*';back--)//尾部*位置
for(i=front;i<back;++i)
str2[i-front]=str1[i];//替换头部*
str2[back-front]=0;
for(i=j=0;str2[i];i++)
if(str2[i]!='*')
str3[j++]=str2[i];//输出字符
else if(str2[i+1]!='*')
str3[j++]=' ';//中间*替换为空格
str3[j]=0;
}
int main()
{
char str1[]="*****this*is****C****program****",str3[80];
rep(str1,str3);
puts(str1);
puts(str3);
return 0;
}
Dev-C++运行结果: