在一行文字中,删除其中某个字符,此行文字和需要删除的字符均由键盘输入
发布网友
发布时间:2022-10-02 16:30
我来回答
共2个回答
热心网友
时间:2023-10-30 23:43
#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从键盘输入字符中扫面一个字符串,遇到前面输入结束
热心网友
时间:2023-10-30 23:43
//写好了,对不起,没看到楼上已经回答了
#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);
}