使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*s1,char*s2),此函数的功能是计算s1中出现s2的个数,当不出现时,则返回0。 如: s1为"1112223333aaaaeeffd" s2为"11"则返回1 s

admin2016-10-28  34

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*s1,char*s2),此函数的功能是计算s1中出现s2的个数,当不出现时,则返回0。
如:
s1为"1112223333aaaaeeffd"
s2为"11"则返回1
s2为"aa"则返回2
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include<iostream.h>
//注意只能使用int类型,不能类型转换
int fun(char*s1,char*s2)
{

}
void main()
{
char s1[1024];
char s2[256];
cout<<"please input a string:"<<endl;
cin.getline(s1,1024);
cout<<"please input otherstring:"<<endl;
cin.getline(s2,256);
cout<<fun(s1,s2);
cout<<endl;
return;
}

选项

答案int size=0;//初始化字符串 统计变量个数 int s1len; int s2len; for(s1len=0;s1[s1len]!=0;s1len++);//第一个字符串循环 for(s2len=0;s2[s2len]!=0;s2len++);//第二个字符串循环 for(int i=0;i<s1len;i++) { int j=0; for(;j<s2len;j++) if(s1[i+j]!=s2[j])//将第二个串中的字符与第一个串中的字符比较 break; if(j==s2len) { ++size; i+=j; --i; } } return size;

解析 (1)size变量用来存放s1中出现s2的个数,初始值赋为0。
(2)然后利用for循环对s2中的每一个字符与s1中的字符进行比较。
(3)如果循环中有符合条件的字符串,就将变量size个数加1。
转载请注明原文地址:https://jikaoti.com/ti/hME0FFFM
0

最新回复(0)