大水题,自己弄个Strcmp就行了
#include <stdio.h> int Strcmp(char *src,char *key) { int i=0,j=0,ans=-1; for(;src[i];++i) { if(src[i]==key[0]) { for(j=1;key[j];++j) { if(src[i+j]!=key[j]) { break; } } if(!key[j]) { return i; } } } return ans; } int main() { char tmp[300],key[20]; int i=0,j=0,length=0; while(gets(tmp)!=NULL && -1 == Strcmp(tmp,"END")) { for(length=0;tmp[length];++length); while(gets(key)!=NULL && -1 == Strcmp(key,"END")) { if(!Strcmp(key,"NULL")) { i=0; } else { i=Strcmp(tmp,key); if(-1 == i) { i=length; } } printf("%d ",i); if(0 == i) { puts("NULL"); } else { for(j=0;j<i;++j) { putchar(tmp[j]); } putchar('\n'); } } } }