còn đây là bài của tớ
Code:
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
char *str_str(char *s, char *s1, char *s2)
{
int len = strlen(s);
int len1 = strlen(s1);
int len2 = strlen(s2);
int i=0, j, luu, m;
if (len1!=0)
while (i<len)
{
if (((s[0] == s1[0]) && (!isalnum(s[len1])))||((0<i)&&(i<len-len1)&&(s[i] == s1[0]) && (!isalnum(s[i-1]))&& (!isalnum(s[i+len1])))||((i>=len-len1)&&(s[i] == s1[0]) && (!isalnum(s[i-1]))))
{
j = 0;
luu = i;
while ((s[luu++] == s1[j++]) && (j <= len1)) ;
if (j==len1+1)
{
memmove(&s[i+len2], &s[i+len1],len-i-len1+1);
strncpy(&s[i],s2,len2);
len = len + len2 - len1;
i += len2;
}
else
i ++;
}
else i++;
}
return s;
}
int _tmain(int argc, _TCHAR* argv[])
{
char s[81], s1[20], s2[20];
char Text[20][81];
int k,m,l;
printf("input word find : "); fflush(stdin); gets(s1);
printf("input word put in : ");fflush(stdin); gets(s2);
printf("input stpochki text:"); fflush(stdin); scanf("%d",&m);
fflush(stdin);
for (k=0;k<=m-1;k++)
{
gets(Text[k]);
str_str(Text[k], s1, s2);
}
if ((1<=m)&&(m<=20))
{
if (strlen(s1) == strlen(s2))
{
l = 0;
for(k= 0; k<=m-1; k++)
{
if (strlen(Text[k]) != 0 )
{
printf("%s\n", Text[k]);
l++;
}
}
if (l==0)
printf("no solution ");
}
else printf("2 TU KHONG BANG SO KI TU");
}
else printf("NHAP SO DONG PHAI TU 1 DEN 20");
return 0;
}