[主观题]

请编写一个函数int pattern_index(char substr[],char str[]),该函数执行含通配符“?”的字符串的查找时,该通配符可以与任一个字符匹配成功。当子串substr在str中匹配查找成功时,返回子串substr在str中的位置,否则返回值为0。要求使用 for循环实现。输出结果如下:

子串起始位置:5

注意:部分源程序已存在文件test20_2.cpp中。

请勿修改主函数main和其他函数中的任何内容,仅在函数pattern_index的花括号中填写若干语句。

文件test20_2.cpp的内容如下:

include<iostream.h>

int pattern_index(char substr[],char str[])

{

}

void main ( )

{

char *substring,*string;

int same;

substring="???gram";

string="this program return index of substring";

same=pattern_index(substring, string);

if(same)

cout<<"子串起始位置: "<<same<<end1;

else

cout<<"匹配不成功" <<end1;

}

参考答案与解析:

相关试题

编写一个函数findStr(char*str,char*substr),该函数统

[试题]编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为”asd asasdfg asd as zx67 asdmklo”,子字符串为”as”,函数返回值是6。 函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,最后把结果输出到文件out.dat中。 注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函数

  • 查看答案
  • 请编写一个函数int CalcDigital(char *str),该函数可返回

    [试题]请编写一个函数int CalcDigital(char *str),该函数可返回字符串str中数字字符(即0~9这10个数字)的个数,如字符串“olympic2008”中数字字符的个数为4。请用if条件判断语句与for循环语句来实现该函数。注意:部分源程序已存在文件test9_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句。文件test9_2.cpp的内容如下:include<iostream.h>include<string.h>int Cal

  • 查看答案
  • 请编写一个函数fun(int score [][3],int num),该函数返

    [主观题]请编写一个函数fun(int score [][3],int num),该函数返回有一门成绩以上课程成绩在85分以上,其余课程成绩不低于70分的人数。数组score按行存放num名考生各自的三门期末考试成绩。注意:部分源程序已存在文件test31_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。程序输出结果如下:3文件test31_2.cpp清单如下:include <iostream.h>int fun(int score[] [3],int

  • 查看答案
  • 请编写一个函数void fun(cbara [], charb [], int

    [主观题]请编写一个函数void fun(cbara [], charb [], int n),其功能是:删除一个字符申中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。例如,输入一个字符串world,然后输入3,则调用该函数后的结果为word。注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <stdio.h>include <conio.h>define LEN

  • 查看答案
  • 请编写一个函数intproc(int*s,intt,int*k),用来求出数组的

    [试题]请编写一个函数intproc(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如,输入如下整数: 876675896101999401980431451777 则输出结果为4,999。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序:

  • 查看答案
  • 不使用库函数,编写函数int strcmp(char *source, char

    [主观题]不使用库函数,编写函数int strcmp(char *source, char *dest) 相等返回0,不等返回-1;

  • 查看答案
  • 请编写能直接实现int atoi(const char * pstr)函数功能的

    [主观题]请编写能直接实现int atoi(const char * pstr)函数功能的代码。

  • 查看答案
  • 一个函数为void(int,char='a'),另一个函数为void f(int

    [单选题]一个函数为void(int,char='a'),另一个函数为void f(int),则它们( )。A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载D.以上说法均不正确

  • 查看答案
  • 请编写一个函数prim(int num),该函数实现判别参数num是否为素数,在

    [主观题]请编写一个函数prim(int num),该函数实现判别参数num是否为素数,在主函数中利用prime()函数验证哥德巴猜想——任何比2大的偶数都可表示为两个素数之和基本功能,根据main函数的调用情况给出正确的返回值。注意:部分源程序已存在文件test36_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数prim的花括号中填写若干语句。文件test36_1.cpp的内容如下:include <iostream.h>const LEN=100;int prim(int num

  • 查看答案
  • 请编写一个函数fun(int x,int n),该函数返回x的n次幂的值,其中x

    [主观题]请编写一个函数fun(int x,int n),该函数返回x的n次幂的值,其中x和n都是非负整数。x的n次幂的计算方法是1与x相乘n次,如x的20次幂的计算为1与x相乘20次,注意:部分源程序已存在文件test30_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。如输入3和4,输出结果如下:3 481文件test30_2.cpp清单如下:include<iostream.h>double fun(int x, int n){}void main

  • 查看答案
  • 请编写一个函数int pattern_index(char substr[],c