●试题四 请补充函数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。
反比例的本质是什么?如果两个量成反比例,这两个量是不是一个增加,另一个就减少呢?比如:函数y=-1 数学 2020-05-12 …
在比例里,一个内项扩大5倍,要使比例照样成立,下列说法错误的是______.A. 另一个内项也扩大 数学 2020-05-14 …
为什么在一个u形管中,一段封闭了,另一端接上了真空环境,那么气体的压强就等于u形管两端水银柱的高度 物理 2020-05-17 …
6.两个小灯泡L1、L2的额定电压均为U额,在额定电压下,通过L1的电流I1是L2的电流I2的2倍 物理 2020-06-28 …
在比例里,一个内项扩大5倍,要使比例仍然成立,下列说法正确的有()句.①另一个内项也扩大5倍;②其 其他 2020-08-02 …
解比例问题如果一个比例的两个内项积是1其中一个外项是2,那么另一个外项是(),如果一个比例的两个外 数学 2020-08-02 …
u形湖是一种什么样的湖看《地理中国》上面提到过说一个u形湖的一端在深深的洞穴里另一端在石壁的另一面, 语文 2020-11-10 …
高压输电的原理:Q=I平方×R×t和P=U×I,当P和t一定时减小U才能减小I,从而减小Q,即线损电 物理 2020-11-21 …
利用一个电压恒定的电源对一个装满水银的U形玻璃管A中的水银供电,测得电流强度为0.1A,若将全部水银 物理 2020-11-26 …
正比例是一个量随着另一个量而变化,比值一定,这就是正比例.那正比例是一个量随着另一个量而变化,比值一 数学 2020-11-29 …