1. 程式人生 > >51Nod-2149 字串出現位置【水題】

51Nod-2149 字串出現位置【水題】

給你兩個字串,一個母串,一個子串,請你找出子串第一次在母串中出現的位置。如果子串沒有在母串中出現過,則輸出-1。

例如子串ab在母串dceab中第一次出現的位置是3,而子串abc則在dceab中沒有出現過。

Input

第一行一個字串(母串),保證每個字元都是小寫字母。
第二行一個字串(子串),保證每個字元都是小寫字母。
保證兩個字串的長度都不超過10000,並且大於0。

Output

一行一個整數,表示子串第一次在母串中出現的位置。假如子串沒有在母串中出現過,則輸出-1。

Input示例

decdagee
age

Output示例

4

問題分析

  這是一個簡單題,在字串中找字元。給出C語言和C++語言的2種程式,不解釋。

程式說明:(無)

題記:(略)

參考連結:(無)

AC的C語言程式如下:

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

#define N 10000
char s[N + 1], t[N + 1];

int main(void)
{
    scanf("%s", s);
    scanf("%s", t);

    char *p = strstr(s, t);

    printf("%d\n", p == NULL ? -1 : (int)(p - s));

    return 0;
}

AC的C++語言程式如下:

#include <iostream>

using namespace std;

int main()
{
    string a, b;
    cin >> a >> b;
    std::size_t ans = a.find(b);
    cout << ((ans == std::string::npos) ? -1 : (int)ans) << endl;

    return 0;
}