永发信息网

用C语言编写一完整源程序,从键盘输入一个字符串Str1,在新的一行输入一个待检测字符Char_Che

答案:5  悬赏:60  手机版
解决时间 2021-11-11 19:13
  • 提问者网友:呐年旧曙光
  • 2021-11-10 22:36
用C语言编写一完整源程序,从键盘输入一个字符串Str1,在新的一行输入一个待检测字符Char_Che
最佳答案
  • 五星知识达人网友:往事隔山水
  • 2021-11-10 22:56
#include
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
  1. #include 

  2. #include 

  3. #include 

  4. int RemoveChar(char *pstr, char ch)

  5. {

  6. int len = strlen(pstr);

  7. assert(pstr != NULL);

  8. while (len-- > 0) {

  9. if (*pstr == ch){

  10. strncpy(pstr, pstr+1, len);

  11. continue;

  12. }

  13. pstr++;

  14. }

  15. *pstr = '';

  16. return 1;

  17. }

  18. #define MAXLEN  128

  19. int main(void)

  20. {

  21. char pstr[MAXLEN] = {0};

  22. char ch;

  23. printf("Please enter the string: ");

  24. gets(pstr);

  25. printf(" Please enter the char: ");

  26. scanf("%c", &ch);

  27. RemoveChar(pstr, ch);

  28. printf(" After: %s ", pstr);

  29. return 0;

  30. }


  • 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
#include
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);
}

运行结果如图:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯