例题:编写一个函数,该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数。
例如,输入的字符串为asd asasdfg asd as zx67 asd mklo,子字符串为asd,则应输出4。
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
代码如下:
#include<stdio.h>
#include<string.h>
#include<conio.h>
int fun(char*s,char*s1)
{
int n;
char*p,*r;
n=0;
while(*s)
{
p=s;
r=s1;
while(*r)
if(*r==*p)
{
r++;
p++;
}
else
break;
if(*r=='\0')
n++;
s++;
}
return n;
}
main()
{
char s[81],s1[4];
int n;
FILE*out;
printf("input main string:");
gets(s);
printf("input sub string:");
gets(s1);
puts(s);
puts(s1);
n=fun(s,s1);
printf("n=%d\n",n);
out=fopen("outfile.dat","w");
strcpy(s,"asd asasdfg asd as zx67 asd mklo");
strcpy(s1,"as");
fprintf(out,"%d",fun(s,s1));
fclose(out);
}
输出运行窗口如下:
本周其他练习
C语言编程>第十五周 ① 请编写函数fun,其功能是计算并输出下列多项式的值:
C语言编程>第十五周 ② 请编写函数fun,它的功能是计算:F= ,F作为函数值返回。在C语言中可调用log(n)函数求In(n),log函数的引用说明是:
C语言编程>第十五周 ③ 请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
C语言编程>第十五周 ④ 编写一个函数,从传入的num个字符串中找出最短的一个字符串,传回该串地址(用 “*”作为结束输入的标志)。
C语言编程>第十五周 ⑤ 假定输入的字符串中只包含字母和 “#”号,请编写函数fun,它的功能是:除了字符串前导的 “#”号之外,将串中其他“#”号全部删除。
C语言编程>第十五周 ⑥ 编写一个函数,该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数。
C语言编程>第十五周 ⑦ 编写一个函数,从传入的num个字符串中找出最短的一个字符串,传回该串地址(用 “*”作为结束输入的标志)。
C语言编程>第十五周 ⑧ 请编写函数fun,其功能是:计算并输出3到m之间所有素数的平方根之和。
越努力越幸运!
加油,奥力给!!!