第1个回答 2012-05-09
#include <stdio.h>
#include <string.h>
void input(char *str1, char *str2)
{
int c;
gets(str1);
while((c = getchar()) != '\n')
*str2++ = c;
*str2 = '\0';
}
int find(char *str1, char *str2)
{
char *p = strstr(str1, str2);
if(p == NULL)
return -1;
else
return p - str1;
}
void split(char *str1, char *str2)
{
char *p,*q;
char tmp[300];
char *ptmp;
int i;
int len = strlen(str2);
ptmp = tmp;
p = str1;
q = str2;
while((i = find(p, q)) != -1)
{
strncpy(ptmp, p, i);
ptmp += i;
*ptmp++ = ' ';
strcpy(ptmp, q);
ptmp += len;
*ptmp++ = ' ';
p += i + len;
}
strcpy(ptmp, p);
strcpy(str1, tmp);
}
int main()
{
char str1[300];
char str2[300];
input(str1, str2);
split(str1, str2);
printf("%s\n",str1);
return 0;
}