用C语言编写一个程序(输入一段字符串,并设定一个字母,如果字符串中有这个字母,就把这个字母删除)

用C语言编写一个程序(输入一段字符串,并设定一个字母,如果字符串中有这个字母,就把这个字母删除

第1个回答  推荐于2018-05-10
#include "stdio.h"
#define MaxLen 256
main()
{
char ch;
char str[MaxLen];
memset(str,0,sizeof(str));
printf("输入字符串\n");
scanf("%s",str);
printf("输入删除字符\n");
scanf("%c",&ch);
int len = strlen(str);
int cur = 0;
for( int i=0;i<len;i++)
{
if( ch==str[i] ) continue;
str[cur]=str[i];
cur++;
}
str[cur]='\0';
printf("str=%s\n",str);
getch();
}本回答被网友采纳
第2个回答  2013-10-23
代码没有。给你思想。
1算出字符传的长度n。做一个指针
2提取第一个字母并检测。不是。检测下一个。是的话就删除。n-1。
第3个回答  2013-10-23
main()
{char a[20],b[20],c;<br/>int i=0,n=0;<br/>c=getchar();<br/>gets(a);<br/>while(a[i])<br/>{if(a[i]!=c)b[n++]=a[i];<br/>i++;}
puts(b);}
第4个回答  2013-10-23
#include<stdio.h>
void del(char *a,char ch)
{int i,j;<br/> for(i=0;a[i]!='\0';i++)<br/> if(a[i]==ch)<br/> for(j=i;a[j]!='\0';j++)<br/> a[j]=a[j+1];<br/>}
main()
{
char a[100],ch;
printf("请输入字符串!\n");
scanf("%s",a);
printf("请输入要删除的字符!\n");
getchar();
scanf("%c",&ch);
del(a,ch);
printf("输出:\n%s\n",a);
}本回答被网友采纳