用C语言编写一完整源程序,从键盘输入一个字符串Str1,在新的一行输入一个待检测字符Char_Che
- 提问者网友:呐年旧曙光
- 2021-11-10 22:36
- 五星知识达人网友:往事隔山水
- 2021-11-10 22:56
void del_str( char *str , char ch)
{
char *tmp,*p;
tmp=p=str ;
while( *tmp )
{
if ( *tmp != ch )
*p++=*tmp ;
tmp++ ;
}
*p=0x00;
}
int main()
{
char Str1[128],Char_Check;
gets( Str1 );
Char_Check=getchar();
del_str(Str1,Char_Check) ;
printf("%s\n" , Str1 );
return 0;
}
- 1楼网友:神鬼未生
- 2021-11-11 03:32
- 2楼网友:夜风逐马
- 2021-11-11 03:18
#include
#include
#include
int RemoveChar(char *pstr, char ch)
{
int len = strlen(pstr);
assert(pstr != NULL);
while (len-- > 0) {
if (*pstr == ch){
strncpy(pstr, pstr+1, len);
continue;
}
pstr++;
}
*pstr = '';
return 1;
}
#define MAXLEN 128
int main(void)
{
char pstr[MAXLEN] = {0};
char ch;
printf("Please enter the string: ");
gets(pstr);
printf(" Please enter the char: ");
scanf("%c", &ch);
RemoveChar(pstr, ch);
printf(" After: %s ", pstr);
return 0;
}
- 3楼网友:往事隔山水
- 2021-11-11 01:57
#include "stdio.h"
#include "string.h"
void deleteChar(char *a,char c)//从特定字符串中删除特定字符{
int i; char *d=NULL;
if((d=strchr(a,c))!=NULL)//找到这个字符,从后一位向前移位,将其覆盖,达到删除的目的
{
for(i=0;*(d+i)!=0;i++)
*(d+i)=*(d+i+1);
}
}
int main()
{
char Str1[100]={0};
char Char_Check;
int i;
gets(Str1);
scanf("%c",&Char_Check);
for(i=0;i deleteChar(Str1,Char_Check); puts(Str1); } 运行结果:
- 4楼网友:妄饮晩冬酒
- 2021-11-11 00:26
int main(){
char str[1000],c;//定义字符串str和字符c
int i=0,j;//定义循环变量
printf("请输入字符串Str1:");
gets(str);//输入字符串str
printf("请输入字符Char_Check:");
scanf("%c",&c);//输入字符c
for(i=0;str[i]!='';i++)
if(str[i]==c)//判断字符串str中的字符是否与c相同
for(j=i;str[j]!='';j++)
str[j]=str[j+1];//如果相同,字符依次向前移动覆盖(相当于删除)
printf("删除后的字符串为:");
puts(str);
}
运行结果如图: