注册 登录
编程论坛 C++教室

这个”统计子字符串在另一个字符串中出现次数“程序为什么不行?

luxooq 发布于 2010-07-21 13:48, 390 次点击
#include<stdio.h>
#include<iostream.h>
#include<string.h>
main()
{
int i,j,n=0,t=0;
char s1[80],s2[20];
cin>>s1;
cin>>s2;
for(i=0;s1[i];i++)
{
    for(j=0;s2[j];j++)
    {
   
        if(s1[i+j]==s2[j])n++;
          else break;
    }
    if(n==strlen(s2))t++;
}
cout<<t;
}
1 回复
#2
ToBeOOP2010-07-25 00:20
程序代码:
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <conio.h>

using std::cin;
using std::cout;
using std::endl;

int main()
{
int i,j,n=0,t=0;
char s1[80],s2[20];
cin >> s1;
cin >> s2;
for(i=0;s1[i];i++)
{
    for(j=0;s2[j];j++)
    {
   
        if(s1[i+j]==s2[j])n++;
          else break;
    }
    if(n==strlen(s2))t++;
}
cout<<t;
_getch();
return 0;
}
改成这样就可以编译成功了,不过算法似乎有些问题
1