练习 2-4 squeeze(s1, s2),将字符串 s1 中任何与字符串 s2 中字符匹配的字符 都删除

来源:互联网 发布:论坛源码php源码 编辑:程序博客网 时间:2024/05/18 02:19
#include <stdio.h>


#define MAXLINE 1000


void squeeze(char s1[],char s2[]);
int getlines(char s[],int lim);


int main(void)
{
   int len;
   char s1[MAXLINE];
   char s2[MAXLINE];


   printf("Please enter first string:\n");
   while((len = getlines(s1,MAXLINE)) > 0)
   {
       printf("please enter second string:\n");
       if((len = getlines(s2,MAXLINE))){
          squeeze(s1,s2);
     printf("First string delet temp:\n%s\n",s1);
     printf("Whether to continue?(Enter quit)\n");
  }
   }


   printf("Good luck!\n");
   return 0;
}


int getlines(char s[],int lim)
{
   int i,c;


   for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
      s[i] = c;
   s[i] = '\0';
 
   return i;
}


void squeeze(char s1[],char s2[])
{
   int i,j,k;


   for(i = 0; s1[i] != '\0'; ++i)
      for(j = 0; s2[j] != '\0'; ++j){
         if(s1[i] == ' ')
            continue;
    if(s1[i] == s2[j])
{
            for(k = i;s1[k] != '\0';++k)
  s1[k] = s1[k+1];
--i;
break;
    }
      }
}
阅读全文
0 0
原创粉丝点击