1 solutions
-
0
C :
#include<stdio.h> #include<string.h> int main() { int n,count; char *p=NULL; char A[11],B[1001]; scanf("%d",&n); getchar(); for(int i=0;i<n;i++) { count=0; gets(A); gets(B); int a=strlen(A); int b=strlen(B); int j=0; if(b-a>0) { for(p=B;j<=b-a;p++,j++) { if(*p==A[0]) { int k; for(k=1;k<a;k++) { if(*(p+k)==A[k]) continue; else break; } if(k==a) count++; } } } printf("%d\n",count); } return 0; }C++ :
#include<iostream> #include<string> #include<cstdio> using namespace std; int main() { //freopen("1.txt","r",stdin); //freopen("2.txt","w",stdout); int n; cin >> n; string a,b; int len_a; int dl; // a 和 b 长度查 int cnt; // 计数 int i,j,k; while(n--) { cin >> a >> b; cnt = 0; len_a = a.length(); dl = b.length()-a.length(); for(i = 0; i <= dl; i++) { // 应该是等于 k = i; for(j = 0; j < len_a && a[j]==b[k]; j++, k++); if(j == len_a) { cnt++; } } cout << cnt << endl; } return 0; }
- 1
Information
- ID
- 18473
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- (None)
- # Submissions
- 0
- Accepted
- 0
- Uploaded By