问答题
请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串:123412132,输入字符为:1,则输出:3。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
#include<string.h>
#define M 81
int fun(char *ss, char c)
{

}
main()
{ char a[M], ch;
void NONO();
printf("/nPlease enter a string:"); gets(a);
printf("/nPlease enter a char:"); ch=getchar();
printf("/nThe number of the char is:%d/n", fun(a, ch));
NONO();
}
void NONO()
{/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
int i;
FILE *rf, *wf;
char a[M], b[M], ch;
rf=fopen("in.dat", "r");
wf=fopen("out.dat", "w");
for(i=0; i<10; i++) {
fscanf(rf, "%s", a);
fscanf(rf, "%s", b);
ch=*b;
fprintf(wf, "%c=%d/n", ch, fun(a, ch));
}
fclose(rf);
fclose(wf);
}
【正确答案】
【答案解析】int cnt=0;
char *p=ss;
while(*p){
if(*p==c)cnt++;
p++;
}
return cnt;
答案考生文件夹 [解析] 该程序功能是统计字符串中指定字符的个数。解题思路是在循环过程中,对字符进行判断,如果符合题干要求,对其个数进行统计。
[考点] 字符数组和字符串、if语句及其构成的选择。