您的位置:首页 > 编程语言 > C语言/C++

输入一个字符串: 例如:输入为:“*****A*B**C**DE**F****” 删除字符中间的*,即输出为*****ABCDEF****

2016-11-19 10:39 751 查看
思路:将字母前的*用一个数组保存,将字母中间的*去掉保存到另一个数组,

在将后面的*放在一个数组,之后将三个数组连接起来

#include<stdio.h>
#include <string.h>
main()
{
int i,j,k=0,c;
char a[100]={0}, //存放所以字符的数组
b[100]={0},  //存放前面的*
d[100]={0},  //存放后面的*
e[100]={0};   //存放中间删除*后的字符
gets(a);//输入
c=strlen(a);//计算长度

for (i=0;a[i]=='*';i++)
{
b[i]=a[i];  //b存放前面的*,i是字母前*的个数
}
for (j=c-1;a[j]=='*';j--)
{
d[k++]=a[j];   //d存放后面的*,此时的j是从第一个字母到最后的个数
}
k=0;//将上次的k清0
for(j=0;a[j]!='\0';j++)
{
if (a[j]!='*')
e[k++]=a[j];   //e[]存放中间去除*后的结果,全是a
}
/*连接并输出*/
strcat(b,e);
strcat(b,d);
puts(b);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言
相关文章推荐