全国计算机等级考试机试题库105套B

1◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是计算如下公式。直到,并且把计算结果作为函数值返回。例如,若形参e的值为1e-3,则函数返回值为0.551690。【答案】【1】3

1◆◆◆◆◆◆◆◆◆◆◆◆ 【填空】 下列给定程序中,函 fun的功能是:用递归算法计 9◆◆◆◆◆◆◆◆◆◆◆◆ ◆◆ 数fun的功能是:把形参a所 算斐波拉契数列中第n项的值。 ◆◆◆ 【填空】 下列给定程序中,函 指数组中的奇数按原顺序依次 从第1项起,斐波拉契数列为: 【填空】 下列给定程序中函数 数fun的功能是计算如下公式。 存放到a[0]、a[1]、a[2]、…… 1、1、2、3、5、8、13、21、……。 fun的功能是:将s所指字符 直到,并且把计算结果作为函 中,把偶数从数组中删除,奇 例如,若给n输入7,则该项 串中的所有数字字符移到所有 数值返回。例如,若形参e的 数个数通过函数值返回。例如: 的斐波拉契数值为13。 非数字字符之后,并保持数字 值为1e-3,则函数返回值为 若a所指数组中的数据最初排 【答案】【1】 去掉分号 字符串和非数字字符串原有的 0.551690。 列为:9、1、4、2、3、6、5、 【2】 case 1:case2:return 1; 次序。 【答案】【1】【2】 3.0 > 8、7,删除偶数后a所指数组 【编程】 某学生的记录由学号、 例如,s所指的字符串为 【3】 (t+1) 中的数据为:9、1、3、5、7, 8门课程成绩和平均分组成, def35adh3kjsdf7,执行后结果 【改错】 下列给定程序中函数 返回值为5。 学号和8门课程的成绩已在主 为defadhajsdf3537。 fun的功能是:求出如下分数 【答案】【1】【2】 1j++ 函数中给出,请编写函数fun, 【答案】【1】 j++ 序列的前n项之和。和值通过 【3】 j 其功能是:求出该学生的平均 【2】 s[i]=t1[i] 函数值返回。例如,若n=5, 【改错】 下列给定程序中函数 分,并放入记录的ave成员中。 【3】 j 则应输出8.391667。 fun的功能是:求两个非零正 例如,学生的成绩85.5, 【改错】 下列给定程序中函数 【答案】【1】 double fun(int n) 整数的最大公约数,并作为函 76,69.5,85,91,72,64.5,87.5, fun的功能是:用冒泡法对6 【2】 s=s+(double)a/b; 数值返回。例如,若num1和 则他的平均分应为78.875。 个字符串进行升序排列。 【编程】 请编写函数fun,其 num2分别为49和21,则输出 【答案】 【答案】 功能是:找出2×M整型二维数 的最大公约数为7;若num1和 int i; 【1】 for (j=i+1; j< 6; j++) 组中最大元素的值,并将此值 num2分别为27和81,则输出 a->ave=0.0; 【2】* (pstr+i)=*(pstr+j); 返回调用函数。 的最大公约数为27。 for(i=0;i<N;i++) 【编程】 编写函数fun,其功 【答案】 【1】 【答案】t=a;a=b;b=t; a->ave=a->ave+a->s[i]; 能是:求ss所指字符串中指定 int i,j,max=a[0][0]; 【2】 return(b); 7◆◆◆◆◆◆◆◆◆◆◆◆ 字符的个数,并返回此值。例 for(i=0;i<2;i++) 【编程】 规定输入的字符串中 ◆◆ 如,若输入字符串123412132, for(j=0;j<M;j++) 只包含字母和*号。编写函数 【填空】 下列给定程序中函数 输入字符为1,则输出3。 if(max<a[i][j]) fun,其功能是:删除字符串中 fun的功能是进行数字字符转 【答案】 max=a[i][j]; 所有的*号。编写函数时,不得 换。若形参ch中是数字字符 int i=0; return max; 使用C语言提供的字符串函数。 '0'~'9',则将'0'转换成'9', for(;*ss!=′\0′;ss++) 2◆◆◆◆◆◆◆◆◆◆◆◆ 例如,字符串中的内容为: '1'转换成'8','2'转换成 if(*ss==c) ◆◆◆ ****A*BC*DEF*G*******,删除 '7',……,'9'转换成'0';若 i++; 【填空】 下列给定程序中,函 后字符串中的内容应当是: 是其它字符则保持不变;并将 return i; 数fun的功能是:计算如下公 ABCDEFG。 转换后的结果作为函数值返回。 10◆◆◆◆◆◆◆◆◆◆◆◆ 式前n项的和并作为函数值返 【答案】 【答案】【1】 char ◆◆ 回。例如,当形参n的值为10 int i,j=0; 【2】 ch<='9' 【填空】 下列给定程序中已建 时,函数返回值为9.612558。 for(i=0;a[i]!=′\0′;i++) 【3】 '0' 立一个带头结点的单向链表, 【答案】【1】【2】【3】 0n if(a[i]!=′*′) 【改错】 下列给定程序中函数 链表中的各结点按结点数据域 (t*t) a[j++]=a[i]; fun的功能是:将p所指字符 中的数据递增有序链接。函数 【改错】 下列给定程序中函数 a[j]=′\0′; 串中的所有字符复制到b中, fun的功能是:把形参x的值 fun的功能是:统计substr所 5◆◆◆◆◆◆◆◆◆◆◆◆ 要求每复制三个字符之后插入 放入一个新结点并插入链表中, 指的子符串在str所指的字符 ◆◆◆ 一个空格。例如,若给a输入 使插入后各结点数据域中的数 串中出现的次数。例如,若字 【填空】 下列给定程序中,函 字符串:ABCDEFGKHIJK,调用 据仍保持递增有序。 符串为aaas 1kaaas,子字符 数fun的功能是:将形参n中, 函数后,字符数组b中的内容 【答案】【1】【2】 xp 串为as,则应输出2。 各位上为偶数的数取出,并按 为:ABC DEF GHI JK。 【3】 s 【答案】 原来从高位到低位相反的顺序 【答案】【1】 b[k]=*p; 【改错】 下列给定程序中函数 【1】 for(i=0;str[i];i++) 组成一个新数,作为函数值返 【2】 b[k]=′ ′;k++; fun的功能是:计算正整数num 【2】 if(substr[k+1]== ′\0′) 回。例如,输入一个整数 【编程】 N名学生的成绩已在 各位上的数字之积。例如,若 【编程】 编写函数fun,其功 27638496,函数返回值为 主函数中放入一个带头节点的 输入252,则输出应该是20。 能是:根据以下公式求π的值 64862。 链表结构中,h指向链表的头 若输入202,则输出应该是0。 (要求精度0.0005,即某项小 【答案】【1】 【2】 0 节点。请编写函数fun,其功 【答案】【1】 long k=1; 于0.0005时停止迭代)。程序 【3】n/10 10*x 能是:求出平均分,并由函数 【2】 num /=10; 运行后,若输入精度0.0005, 【改错】 下列给定程序中函数 值返回。例如,若学生的成绩 【编程】 编写函数fun,其功 则程序应输出为3.14…。 fun的功能是:将长整型数中 是: 能是:计算n门课程的平均分, 【答案】 各位上为奇数的数依次取出, 85 76 69 85 91 72 64 结果作为函数值返回。例如: double s=1.0,s1=1.0; 构成一个新数放在t中。高位 87,则平均分应当是:78.625。 若有5门课程的成绩是: int n=1; 仍在高位,低位仍在低位。例 【答案】 90.5,72,80,61.5,55,则函数 while(s1>=eps) 如,当s中的数为87653142时, double av=0.0; 的值为:71.80。 {s1=s1*n/(2*n+1); t中的数为7531。 STREC *p=h->next; 【答案】 s=s+s1; 【答案】【1】 *t=0; while(p!=NULL) float av=0.0; n++; 【2】 if(d%2!=0) {av=av+p->s; int i; } 【编程】 编写函数fun,其功 p=p->next; for(i=0;i<n;i++) Return 2*s 能是:实现两个字符串的连接 return ave/N; av=av+a[i]; 3◆◆◆◆◆◆◆◆◆◆◆◆ (不要使用库函数strcat),即 8◆◆◆◆◆◆◆◆◆◆◆◆ return (av/n); ◆◆ 把p2所指的字符串连接到p1 ◆◆◆ 11◆◆◆◆◆◆◆◆◆◆◆◆ 【填空】 给定程序中函数fun 所指的字符串的后面。例如, 【填空】 下列给定程序中函数 ◆◆ 的功能是:统计形参s所指的 分别输入下面两个字符串: fun的功能是:求ss所指字符 【填空】 下列给定程序中函数 字符串中数字字符出现的次数, FirstString—SecondString 串数组中长度最短的字符串所 fun的功能是:将形参a所指 并存放在形参t所指的变量中, 程序输出: 在的行下标,作为函数值返回, 数组中的前半部分元素中的值 最后在主函数中输出。 FirstString--SecondString 并把其串长放在形参n所指的 与后半部分元素中的值对换。 例如,若形参s所指的字符串 【答案】 变量中。ss所指字符串数组中 形参n中存放数组中数据的个 为abcdef35adgh3kjsdf7,则 int i,j; 共有M个字符串,且串长小于 数,若n为奇数,则中间的元 输出结果为4。 for(i=0;p1[i]!=′\0′; N。 素不动。例如:若a所指数组 【答案】【1】 【2】 s[i] i++); 【答 中的数据为:1、2、3、4、5、 '9' for(j=0;p2[j]!=′\0′; 案】【1】【2】【3】 M< k 6、7、8、9,则调换后为:6、 【3】 *t=n j++) 【改错】 下列给定程序中函数 7、8、9、5、1、2、3、4。 【改错】 下列给定程序中函数 p1[i++]=p2[j]; fun的功能是:将tt所指字符 【答案】【1】【2】 1i fun的功能是:实现两个变量 p1[i]=′\0′; 串中的小写字母全部改为对应 【3】 a[p+i] 值的交换,规定不允许增加语 6◆◆◆◆◆◆◆◆◆◆◆◆ 的大写字母,其它字符不变。 【改错】 下列给定程序中函数 句和表达式。例如,变量a中 ◆◆ 例如,若输入"Ab,cD",则输 fun的功能是:把从主函数中 的值原为8,b中的值原为3, 【填空】 下列给定程序中函数 出"AB,CD"。 输入的3个数,最大的数放在 程序运行后a中的值为3,b中 fun的功能是:把形参a所指 【答案】 a中,中间的数放在b中,最 的值为8。 数组中的最小值放在元素a[0] 【1】 if(( tt[i]>=′a′)&&( 小的数放在c中。例如,若输 【答案】【1】 t= *x ;*x =y ; 中,接着把a所指数组中的最 tt[i] <= ′z′) 入的数为:55 12 34,输出 【2】 return(t) ; 大值放在a[1]元素中;再把a 【2】 tt[i]-=32; 的结果应当是:a=55.0, 【编程】 编写函数fun,其功 所指数组元素中的次小值放在 【编程】 编写函数fun,其功 b=34.0,c=12.0。 能是:求出1到1000之间能被 a[2]中,把a所指数组元素中 能是:将所有大于1小于整数 【答案】【1】 float k; 7或11整除,但不能同时被7 的次大值放在a[3],以此类推。 m的非素数存入xx所指数组 【2】 if(*a< *c) 和11整除的所有整数,并将其 例如,若a所指数组中的数据 中,非素数的个数通过k返回。 【编程】 学生的记录由学号和 放在a所指的数组中,通过n 最初排列为:9、1、4、2、3、 例如,若输入17,则应输出: 成绩组成,N名学生的数据已 返回这些数的个数。 6、5、8、7;则按规则移动后, 46 89 10 12 14 15 放入主函数中的结构体数组s 【答案】 数据排列为:1、9、2、8、3、 16。 中,请编写函数fun,其功能 int i,j=0; 7、4、6、5。形参n中存放a 【答案】 是:把分数最高的学生数据放 for(i=1;i<=1000;i++) 所指数组中数据的个数。规定 int i,j,n=0; 在b所指的数组中。注意:分 if((i%7==0||i%11==0)&&i%77! fun函数中的max存放当前所 for(i=4;i<m;i++) 数最高的学生可能不止一个, =0) 找的最大值,px存放当前所找 {for(j=2;j<i;j++) 函数返回分数最高的学生的人 a[j++]=i; 最大值的下标。 if(i%j==0) break; 数。 *n=j; 【答案】 if(j<i) xx[n++]=i; 【答案】 4◆◆◆◆◆◆◆◆◆◆◆◆ 【1】【2】【3】 a[i] a[j]a[j] } int i,j=0,max=a[0].s; ◆◆ 【改错】 下列给定程序中函数 *k=n; for(i=0;i<N;i++)

腾讯文库全国计算机等级考试机试题库105套B