编写一个函数,用该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数。例如,假定输入字符串“the abcthe they have theren”,子字符串为“the”,则应输出4。 注意:部分源程序在文件PROC2.CPP中。 请勿

admin2009-01-15  27

问题 编写一个函数,用该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数。例如,假定输入字符串“the abcthe they have theren”,子字符串为“the”,则应输出4。
   注意:部分源程序在文件PROC2.CPP中。
   请勿改动主函数和其他函数中的任何内容,仅在fun()的花括号中填入编写的若干语句。
   部分源程序如下:
   //PROC2.CPP
   #include <iostream>
   using namespace std;
   #define MAX 100
   int fun(char *str,char *substr);
   int main(){
      char str[MAX],substr[3];
      int n;
      cout<<"Please Input the source String\n";
      cin>>str;
      cout<<"Please Input the subString\n";
      cin>>substr;
      n=fun(str, substr);
      cout<<"The counter is:  "<<n<<end1;
      return 0;
   }
   int fun(char *str,char *substr)
   {
     //******
   }

选项

答案实现此函数功能的方式有多种,下面给出其中一种答案: int fun(char *str,char *substr) { int n,z; n=0; for (z=0;str [z] !=’\0’;z++) { if((str[z]==substr[0])&&(str[z+1]==substr[1])&& (str[z+2]==substr[2])) n++; } return (n); }

解析 本题是一道简单应用题。
   ①本题主要考核考生对字符串指针或字符串数组的应用能力。函数fun的形参为两个字符串的首地址。
   ②函数fun的功能是统计一个长度为3的字符串在另一个字符串中出现的次数。
   ③此函数可用一个循环体和if语句来实现。在循环体中当遇到第一个字符匹配时,就用if判断此后的第2和第3个字符是否相等,若相等则计数器加1, 否则继续循环。
转载请注明原文地址:https://kaotiyun.com/show/UKID777K
0

最新回复(0)