●试题四 请补充函数fun(),该函数可以统计一个长度为n的字符串在另一个字符串中出现的次数。例如,
●试题四
请补充函数fun(),该函数可以统计一个长度为n的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd ascasdfg asd as asd mlosd,子字符串为asd,则应输出4。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
int fun(char *str,char *substr)
{
int n;
char *p,*r;
(1) ;
while(*str)
{
p=str;
r=substr;
while(*r)
if( (2) )
{
r++;
p++;
}
else
break;
if( (3) )
n++;
str++;
}
return n;
}
main()
{
char str[81],substr[3];
int n;
clrscr();
printf("输入主字符串:");
gets(str);
printf("输入子字符串:");
gets(substr);
puts(str);
puts(substr);
n=fun(str,substr);
printf("n=%d\n",n);
}
【答案】(1)n=0(2)*r==*p(3)*r==′\0′
【解析】填空1:变量n用来记录子字符串在字符串中出现的次数,函数中对变量n进行了类型声明,但并没有进行初始化,所以此处对n初始化为0。填空2:进行比较时,如果子字符串的字符与字符串中的字符相同,则将两个字符串的指针都自加1,继续进行比较,否则跳出循环。填空3:如果此时指针r所指的字符为'\0',则说明子字符串在字符串中出现了一次,将记录变量n加1。
f(x)=x^2+ax+b(1)函数f(x)的图像过(1,1),f(-1)=f(3),求g(x)= 数学 2020-05-16 …
这道高三函数题怎么做?函数f(x)的定义域为R,若f(x+1)与飞(x-1)都是奇函数,则A.f( 数学 2020-05-20 …
大学《数学分析》里出现的一个符号类似句号,就是一个小圈.但是不像句号那样位于文字下方是在文字中间. 数学 2020-06-11 …
如图,偶函数f(x)的图象如字母M,奇函数g(x)的图象如字母N,若方程f(f(x))=0,f(g 其他 2020-06-22 …
关于java的swap比如有[a,b,c,d,e]5个字母...用swap交换为[d,e,c,a, 其他 2020-07-17 …
对于正整数n,定义:其中f(n)表示n的首位数字与末位数字的平方和.例如:f(6)=62=36,f 数学 2020-07-18 …
用f(n)表示组成n的数字中不是零的所有数字乘积,例如:f(5)=5;f(29)=18;f(207 其他 2020-07-18 …
对于每个正整数n,设f(n)表示n(n+1)的末位数字.例如:f(1)=2(1×2的末位数字),f( 其他 2020-11-06 …
一道数论题.n是正整数,我们让f(n)为n的所有正除数的和例如:f(n)=1+2+3+4+6+12= 数学 2020-11-06 …
如图,偶函数f(x)的图象形如字母M(图1),奇函数g(x)的图象形如字母N(图2),若方程f(g( 其他 2021-02-09 …