1、国家二级 C 语言机试(操作题)模拟试卷 350(无答案)一、程序填空题1 给定程序中,函数 fun 的功能是:计算出形参 s 所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参 s 所指的字符串为:This is a C languageprogram ,函数的返回值为6。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1C 中。不得增行或删行,也不得更改程序的结构!#include int fun (char *s) int n=0,flag=0 ;_1_ ; flag=1 ; _3
2、_;return n;main () char str81; int n:printf (“nEnter a line text:n“) ;gets (str) ;n=fun (str) ;printf(“nThere are d words inthis textnn“,n) ;二、程序修改题2 给定程序 MODI1C 中函数 fun 的功能是:从 n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参 aver 所指的存储单元中。例如,若输入 8 名学生的成绩:805 60 72 905 98 515 88 64则低于平均分的学生人数为:4(平均分为:75
3、5625)。请改正程序中的错误,使它能统计出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include #define N 20int fun (float *s,int n,float*aver) float ave,t =00 ;int count = 0,k,i ;t = sk;ave t / n ;if (si void fun (int *s, int t, int *k)main()int a10=876,675f 896 ,101,301,401,980,431,451,777,k;void NONO();fun (a, 10, &k);printf(“d, dn“, k, ak);NONO();void NONO ()/*本函数用于打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。*/int a10, i,k,j ;FILE *rf, *wf ;rf= fopen “indat“,“r“);wf=fopen (“outdat“, “w“);for(i = 0 ; i 10 ; i+) for(j=0 ; j 10 ; j+) fscanf(rf, “d“,aj);fun (a, 10, &k);fprintf (wf, “d,dn“,k,ak);fclose (rf);fclose (wf);