在一行文字中,删除其中某个字符,此行文字和需要删除的字符均由键盘输入

#include<stdio.h>
#include<string.h>
void main()
{char line[80] ;
char ch;
int i,j;
int len;
printf("输入一行字符 \n");
___________________ ;
printf("输入要删除字符 ");
ch=getchar();
i=0;
while(line[i]!='\0' )
{ while(__________________&& line[i]!=ch) i++;
len=strlen(line);
for(j=i;j<len-1;j++)
__________________;
line[j]='\0';
}
puts(line);
}

#include<stdio.h>
#include<string.h>
void main()
{char line[80] ;
char ch;
int i,j;
int len;
printf("输入一行字符 \n");
//___________________ ;
gets(line);
printf("输入要删除字符 ");

ch=getchar();
i=0;
while(line[i]!='\0' )
{// while(__________________&& line[i]!=ch) i++;
while(line[i]!='\0'&& line[i]!=ch) i++;
len=strlen(line);
for(j=i;j<len-1;j++)
// __________________;
line[j]=line[j+1];
line[j]='\0';
}
puts(line);
}追问

为什么gets(line);不能写成scanf("%s",line);呢?

追答

gets是输入一个字符串,enter结束,字符串习惯使用gets,你也知道这只对字符串有用的。
而scanf对任何的都可以进行输入,可以使用空格,table,enter结束,scanf从键盘输入字符中扫面一个字符串,遇到前面输入结束

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-22
//写好了,对不起,没看到楼上已经回答了
#include<stdio.h>
#include<string.h>
void main()
{char line[80] ;
char ch;
int i,j;
int len;
printf("输入一行字符 \n");
//___________________ ;
gets(line);
printf("输入要删除字符\n ");
ch=getchar();
i=0;
while(line[i]!='\0' )
{
while(line[i]!='\0'&& line[i]!=ch) i++;//
len=strlen(line);
for(j=i;j<len-1;j++)
line[j]=line[j+1];
line[j]='\0';
}
puts(line);
}
相似回答