字符串比對(10分)

題目內容:

題目提及來很簡單,你會讀到兩個字符串,每一個字符串佔據一行,每一個字符串的長度均小於10000字符,並且第一個字符串的長度小於第二個字符串的。你的程序要找出第一個字符串在第二個字符串中出現的位置,輸出這些位置,若是找不到,則輸出-1。
注意,第一個字符的位置是0。第一個字符串在第二個字符串中的位置可能不止一處。字符串中可能含有空格。兩個字符串的長度必定大於0。code

輸入格式:

兩個字符串,一行一個。字符串

輸出格式:

第一個字符串在第二個字符串中出現的位置,按照從小到到的順序排列,每一個數字後面有一個空格。
若是在第二個字符串中找不到第一個字符串,則輸出-1。get

輸入樣例:

abba
ababbba abbabbabbabbaaccstring

輸出樣例:

8 11 14 17io

#include <stdio.h>
#include <string.h>	

int main(){
    char A[10000],B[10010];
    gets(A);
    gets(B);
    int	sign=0,al=strlen(A),bl=strlen(B);
    for(int i=0;i<bl;i++){
        for(int k=0;k<al;k++){
            if(A[k]!=B[i+k])
                break;	
            if(k==al-1){		//k=0~al-1 時,程序都沒有跳出循環 	
                sign=1;			//說明:找到了第一個字符串
                printf("%d ",i);
            }
        }
    }
    if(!sign)	
        printf("-1");
    return 0;
}
相關文章
相關標籤/搜索