51Nod-2149 字串出現位置【水題】
阿新 • • 發佈:2019-01-02
給你兩個字串,一個母串,一個子串,請你找出子串第一次在母串中出現的位置。如果子串沒有在母串中出現過,則輸出-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;
}