然后使用 VC 打开考生文件下的程序“modi1.c”, 该题的程序如下所示: #include <stdio.h> double fun( int m ) { double t = 1.0; int i; for( i = 2; i <= m; i++ ) /**********found**********/ t += 1.0/k; /**********found**********/ ________ } main() { int m; printf( "\nPlease enter 1 integer number:" ); scanf( "%d", &m ); printf( "\nThe result is %lf\n", fun( m ) ); } 在每一个注释行“/********found********/”的下方,都有一行或几行程序,其中有一 个(类)错误,考生须找出这个错误并改正,例如第一个注释行“/********found********/” 的下方只有一行程序“t += 1.0/k”, 应将其改为“t += 1.0/i”。 有的注释行 “/********found********/”下方会出现这样的行“_____________”, 这实际上就是一个填 空题,考生要做的就是把“_____________”删去,然后填上正确答案。例如第二个注释行 “/********found********/”的 下方就有一个“ _____________”, 将 其删去,然 后填上“ return t;”, 改正后的程序如下所示: #include <stdio.h> double fun( int m ) { double t = 1.0; int i; for( i = 2; i <= m; i++ ) /**********found**********/ t += 1.0/i; /**********found**********/ return t; } main() { int m; printf( "\nPlease enter 1 integer number:" ); scanf( "%d", &m ); printf( "\nThe result is %lf\n", fun( m ) ); } 程序中有多少行“/********found********/”, 就说明程序中有多少个(类)错误,因 为每个“/********found********/”下方的程序中都有一个(类)错误。 一类错误是指相同的错误,例如: /********found********/ if(a > b) { t = a a = b b = a } 上面的程序中,“ /********found********/”下 面的几行程序中有三个地方少了分号( ;), 但都属于同一类错误。 任何一个“/********found********/”下方的程序中都不会出现多类错误。 注意:程序修改题同样不要求运行,但一定要保存。出于保险考虑,考生可以运行程序查看 结果。程序修改题是否被运行,不影响考生的得分。 (5)做编程题时,首先单击“程序设计题”按钮,阅读题目,理解题意。程序设计题 的题目如图 13 所示。
然后使用 VC 打开考生文件下的程序“prog1.c”, 该题的程序如下所示: #include <math.h> #include <stdio.h> void NONO(); double fun( int m ) { } main() { printf("%f\n", fun(20)); NONO(); } void NONO ( ) {/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i, n ; double s ; fp = fopen("C:\\WEXAM\\24010001\\in.dat","r") ; wf = fopen("C:\\WEXAM\\24010001\\out.dat","w") ; for(i = 0 ; i < 10 ; i++) { fscanf(fp, "%d", &n) ; s = fun(n) ; fprintf(wf, "%f\n", s) ; } fclose(fp) ; fclose(wf) ; } 编程题要求将 fun()函数的函数体填充完整,以实现题目的要求。程序可以编写如下: #include <math.h> #include <stdio.h> void NONO(); double fun(int m) { int i; double s = 0.0; for(i=1; i <= m; i++) s = s + log(i); s = sqrt(s); return s; } ……………………………… ……………………………… ……………………………… 但是,仅仅把 fun()函数的函数体填充完整是不够的,即使你所填写的程序时正确的。 因为编程题并不是根据考生所填写的程序来评分的,而 是根据程序的运行结果是否正确来评 分的。因为在编写好程序后,还必须运行程序。经编译运行后,弹出如图14 所示的界面。