第3题
函数fun的功能是:统计在字符串a中,以下指定字符出现的次数,并存到b数组中,其中:字符’+’出现的次数存到b[0]中,字符’-’出现的次数存到b[1], 字符’*’出现的次数存到b[2],字符’/’出现的次数存到b[3], 字符’&’出现的次数存到b[4],其它字符出现的次数存到b[5]中。
例如,当a字符串中的字符串为:"-+*1-a/&b"时,
调用该函数后,b中存放的数据应是:1、2、1、2、1、3。
注意:部分源程序存在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#include
void fun(char *a, int b[])
{
}
main()
{ int i, b[6]; char a[100] = "-+*1/-a/&b";
clrscr();
fun(a, b);
printf("The result is: ");
for (i=0; i<6; i++) printf("%d ", b[i]);
printf("\n");
NONO();
}
NONO( )
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *rf, *wf ;
char a[100], *p ;
int b[6], i, j ;
rf = fopen("in6.dat", "r") ;
wf = fopen("bc06.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(a, 99, rf) ;
p = strchr(a, ’\n’) ;
if(p) *p = 0 ;
fun(a, b) ;
for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
fprintf(wf, "\n") ;
}
fclose(rf) ;
fclose(wf) ;
}
程序参考答案
void fun(char *a, int b[])
{
int i;
for (i=0; i<6; i++) b[i] = 0;
for (i=0; i< strlen(a); i++)
switch(a[i])
{ case ’+’: b[0]++; break;
case ’-’: b[1]++; break;
case ’*’: b[2]++; break;
case ’/’: b[3]++; break;
case ’&’: b[4]++; break;
default: b[5]++;
}
}
转贴于:计算机二级考试_考试大
【责编:qinqin 纠错】
[1] [2] [3] [4] [5] 