前提・実現したいこと
文字列の中に、指定した文字が何回出るかを出力するプログラムはかけたのですが、
文字列の中に、指定した文字列が何回出るかを出力するプログラムがかけなくて困っています。考え方を教えてください。
問題
1行目で文字列 s、2行目で文字列 t が入力されます。
s が t の中で何回出現するかカウントして出力してください。
入力される値
s
t
入力値最終行の末尾に改行が1つ入ります。文字列は標準入力から渡されます。
期待する出力
出現回数を1行で出力してください。
最後は改行し、余計な文字、空行を含んではいけません。
条件
すべてのテストケースにおいて、以下の条件をみたします。
1 ≦ (文字列 s の長さ) ≦ 10,000
1 ≦ (文字列 t の長さ) ≦ 10,000
文字列 s, t は、半角アルファベットで構成された文字列
入力例1
AA
abdeeAAbAAAbfde
出力例1
3
試したこと(文字探索のプログラム)
#include <stdio.h> #include <string.h> int main(void){ char a; char buf[1000]; scanf("%c\n",&a); scanf("%s\n",buf); int cnt=0; size_t len; len = strlen(buf); for(int i=0;i<len;i++){ if(buf[i]==a){ cnt++; } } printf("%d\n",cnt); return 0; }
試したこと(文字列探索のプログラム)
#include <stdio.h> #include <string.h> int main(void){ char buf[1000]; char str[1000]; scanf("%s\n",str); scanf("%s\n",buf); int cnt=0; int cnt_=0; size_t len=0; size_t len_=0; len = strlen(buf); len_ = strlen(str); //この部分はわかりませんでした printf("%d\n",cnt_); }
回答3件
あなたの回答
tips
プレビュー