2010年7月19日 星期一

【程概】99 普考-程式實做(三)

用任何高階電腦語言撰寫一個函式int string_search(char str[], char pat[]),它能計算出子字串pat在字串str中的位置。例如,假設str="I will pass this exam."且pat="pass",則函式string_search(str, pat) 回傳7。

答:
#include

int string_search(char str[], char pat[]) {
int result = 0, i=0, j=0;
while(str != '\0') {
if(str == pat[j]) {
j++;
if (result == 0)
result = i;
} else {
if (pat[j] != '\0') {
result = 0;
j = 0;
} else {
return result;
}
}
i++;
}
return -1;
}

int main(int argc, char *argv[])
{
char str[] = "I will pass this exam.";
char pat[] = "pass";

printf("str is: %s\n", str);
printf("pat is: %s\n", pat);
printf("string_search index is %d\n", string_search(str, pat));
}

沒有留言:

張貼留言