char *search(char *s, char t);
void ReadString( char s[] ); / 裁判提供,细节不表 */
int main()
{
char s[MAXS], t[MAXS], *pos;
ReadString(s);
ReadString(t);
pos = search(s, t);
if ( pos != NULL )
printf("%d\n", pos - s);
else
printf("-1\n");
return 0;
}
/* 你的代码将被嵌在这里 */
char *search( char *s, char *t )
{
int flag=-1;
for(int i=0;s[i]!='\0';i++)
{
if(t[i]==s[i])
{
for(int j=i+1;t[j]!='\0';j++)
{
if(t[j]!=s[j])
{
flag = i;
break;
}
}
}
}
if(flag==-1)
return NULL;
else
return s+flag;
}
供参考:
#include <stdio.h>
#define MAXS 30
char *search(char *s, char *t);
void ReadString( char s[] ); // 裁判提供,细节不表
int main()
{
char s[MAXS], t[MAXS], *pos;
ReadString(s);
ReadString(t);
pos = search(s, t);
if (pos != NULL)
printf("%d\n", pos - s);
else
printf("-1\n");
return 0;
}
/* 你的代码将被嵌在这里 */
char* search(char* s, char* t)
{
int i, j, k, flg;
char*pos = NULL;
for (i = 0,flg = 1;flg && s[i] != '\0'; i++)
for (j = i, k = 0; t[k] == s[j]; k++, j++)
if (t[k+1] == '\0') {pos = s + i;flg = 0;break;}
return pos;
}