1、国家二级( C语言)机试模拟试卷 215及答案与解析 一、程序填空题( 30分) 1 给定程序中,函数 fun的功能是根据形参 i的值返回某个函数的值。当调用正确时,程序输出: x1=5 000000, x2=3 000000, x1*x1+x1*x2=40 000000 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include double f1(double x) return x*x; double f2(double x, double y) Eeturn
2、x*y; /*found*/ 【 1】 fun(int i, double x, double y) if (i=1) /*found*/ Eeturn 【 2】 (x); else /*found*/ reLurn【 3】 (x, y); main() double x1=5, x2=3, r; r=fun(1, x1, x2); r+=fun(2, x1, x2); printf(“ nx1= f, x2= f, x1*x1+x1*x2= f n n“, x1, x2, r); 二、程序修改题( 30分) 2 给定程序 MODll C中函数 fun的功能是:先将在字符串 s中的字符按正序存
3、放到 t串中,然后把 s中的字符按逆序连接到 t串的后面。 例如:当 s中的字符串为: ”ABCDE”时,则 t中的字符串应为: ”ABCDEEDCBA”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! #include #include void fun (char *s, char *t) int i, s; sl = strlen(s); /*found*/ for(i=0; i0.000001); return x1; 【试题解析】 进入 fun函数,根据前面的分析: 根据题中给出的求解步骤,首先 x1初值为 0.0;若 x0-x1的绝对值大于 0.000001就循环进行迭代,即 “x0=x1; x1=cos(x0);”直到满足题目中的要求,返回 x1,即实根。