1、二级 C_第 1 套上机题一、程序填空题下列给定程序中,函数 fun 的功能是:求 ss 所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参 n 所指的变量中。ss 所指字符串数组中共有M 个字符串,且串长小于 N。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!【参考答案】(1) M (2) =a)double av=0.0;*n=0;for(i=0;ip)三、程序设计题学生的记录由学号和成绩组成,N 名学生的数据已放入主函数中的结构体数组 s 中。请编写函数 f
2、un,其功能是:把指定分数范围内的学生数据放在 b 所指的数组中,分数范围内的学生人数由函数值返回。例如, 输入的分数是 60、69,则应当把分数在 6069 的学生数据输出,包含 60 分和 69 分的学生数据。主函数中把 60 放在 low 中,把 69 放在 heigh 中。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】int fun( STREC *a,STREC *b,int l, int h )int i,j=0;for(i=0;i=l二级 C_第 9 套上机题一、程序填空
3、题程序通过定义学生结构体变量,存储学生的学号、姓名和 3 门课的成绩。函数 fun 的功能是:将形参 a 中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。例如,若传给形参 a 的数据中学号、姓名和三门课的成绩依次是:10001、“ZhangSan“、95、80、88,修改后的数据应为:10002、“LiSi“ 、96 、81、89 。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!【参考答案】(1) struct student (2) a.name(3) a.scorei二、程序
4、修改题假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数 fun 的功能是:删除数列中值为 x 的元素。变量 n 中存放数列中元素的个数。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODI1.C 中,不得增行或删行,也不得更改的程序的结构!【参考答案】(1)if(p=n) return -1;(2)ai=ai+1;三、程序设计题编写函数 fun,其功能是:将两个两位数的正整数 a、b 合并成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的个位和百位上,b 数的十位和个位数依次放在 c 数的千位和十位上。例如,当 a45 ,b12
5、时,调用该函数后, c1524。注意:部分源程序在文件 PROG1.C 中。数据文件 IN.DAT 中的数据不得修改。请勿动改主函数的 main 和其它函数中的任何内容,仅在函数 fun 的花括号填入你编写的若干语句。【参考答案】void fun(int a, int b, long *c)*c=a/10+(b%10)*10+(a%10)*100+(b/10)*1000;二级 C_第 10 套上机题一、程序填空题下列给定程序中,函数 fun 的功能是:在形参 s 所指字符串中的每个数字字符之后插入一个*号。例如,形参 s 所指的字符串为“def35adh3kjsdf7“,执行后结果为“def3
6、*5*adh3*kjsdf7*“注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构!注意:部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!【参考答案】(1) i=i) /*如果是素数,放入数组 xx 中*/xxn+=i;二级 C_第 12 套上机题一、程序填空题函数 fun 的功能是:统计长整数 n 的各位上出现数字 1、2、3 的次数,并用外部(全局)变量c1、 c2、 c3 返回主函数。例如,当 n123114350 时,结果应该为:c1 3 c21 c32 。注意:部分源程序在文件 BLANK1.C 中。请勿改动 main 函数和其他函数中的任何
7、内容,仅在函数 fun 的横线上填入所编写的若干表达式或语句。【参考答案】(1) n%10 (2) break (3) break二、程序修改题下列给定程序中,函数 fun 实现的功能是:统计一个无符号整数中各位数字值为 0 的个数,通过形参传回主函数,并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数 30800,则数字值为 0 的位的个数为 3,各位上数字值最大的是 8。请改正函数 fun 中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODI1.C 中,不要改动 main 函数,不得增行或删行,也不得更改程序的结构。【参考答案】(1)if(t=0)(2)*ze
8、ro=count;三、程序设计题请编写函数 fun,其功能是:计算并输出下列多项式的值。例如,在主函数中从键盘为 n 输入 50 后,输出为 S1.718282。注意:要求 n 的值在大于 1 但不大于 100 之间。部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】double fun(int n)double sum=0,tmp=1;int i;for(i=1;in)/*如果 k 大于 n,则使 p 的前部保留 n 个星号,其后的字符依次存入数组 a 中*/ while(*p) ai=*(p
9、+k-n);i+;p+;ai=0; /*在字符串最后加上结束标识位*/二级 C_第 18 套上机题一、程序填空题下列给定程序中,函数 fun 的功能是:把形参 s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于 2)。例如,形参 s 所指字符串为 “abcdefgh“,执行结果为“ahcbedgf“。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!【参考答案】(1) 1 (2) sk或*(s+k)
10、(3) c二、程序修改题下列给定程序中 fun 函数的功能是:求表达式saa aa aaa aa a(此处 aa aa 表示 n 个 a,a 和 n 的值在 1 至 9 之间)例如,a3 ,n6,则以上表达式为:s333333 33333 3333 333333其值是 296298。a 和 n 是 fun 函数的形参,表达式的值作为函数值传回 main 函数。请改正程序中的错误,使它能计算出正确的结果。注意:部分源程序在文件 MODI1.C 中,不得增行或删行,也不得更改程序的结构!【参考答案】(1)long s=0, t=0;(2)t=t/10;三、程序设计题编写函数 void fun(ch
11、ar *tt,int pp),统计在 tt 所指的字符串中 a到z26 个小写字母各自出现的次数,并依次放在 pp 所指的数组中。例如,当输入字符串 abcdefgabcdeabc 后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】void fun(char *tt, int pp)int i;for(i=0;i=a【参考答案】(1)t=i (2) i (3) 0
12、或 0三、程序设计题编写函数 fun,其功能是:删除一个字符串中指定下标的字符。其中,a 指向原字符串,删除指定字符后的字符串存放在 b 所指的数组中,n 中存指定的下标。例如,输入一个字符串 world,然后输入 3,则调用该函数后的结果为 word。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】void fun (char a, char b, int n)int i,k=0;for(i=0;ai!=0;i+)if(i!=n)/*将不是指定下标的字符存入数组 b 中*/ bk+=a
13、i;bk=0; /*在字符串最后加上结束标识*/ 二级 C_第 22 套上机题一、程序填空题函数 fun 的功能是:计算直到10 6。若 x2.5,函数值为 12.182494。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构。【参考答案】(1)x (2)n (3)t二、程序修改题下列给定程序中,函数 fun 的功能是:计算 n 的 5 次方的值(规定 n 的值大于 2 且小于 8),通过形参指针传回主函数,并计算该值的个位、十位、百位上数字之和作为函数值返回。例如,7 的 5 次方是 16
14、 807,其后 3 位数的和值是 15。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODI1.C 中,不要改动 main 函数,不得增行或删行,也不得更改程序的结构!【参考答案】(1)d=1;(2)s=0;(3)d=d/10;三、程序设计题请编写函数 fun,其功能是:计算并输出给定数组( 长度为 9)中每相邻两个元素的平均值的平方根之和。例如,若给定数组中的 9 个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0 、3.0 、11.0,则输出应为 S35.951014。注意:部分源程序在文件 PROG1.C 中。请勿改主动函数 main 和
15、其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】double fun(double x9)double sum=0.0;int i,j=1;for(i=0;i=2) return x1;二级 C_第 29 套上机题一、程序填空题给定程序中,函数 fun 的功能是:找出形参 s 所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参 s 所指的字符串为:abcAbsmaxless,程序执行后的输出结果为:lettera:3timesletters:3times请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:
16、部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!【参考答案】(1)*s (2)1 (3)kn二、程序修改题下列给定程序中,函数 fun 的功能是:求 S 的值。S (22/(13)(42/(35)(62/(57)(2k)2/(2k1)(2k1)例如,当 k 为 10 时,函数的值应为 1.533852。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODI1.C 中,不要改动 main 函数,不得增行或删行,也不得更改程序的结构!【参考答案】(1)double fun(int k)(2)return s ;三、程序设计题请编写函数 fun,其功
17、能是:计算并输出下列多项式的值。S 1/(12)1/(23) 1/(n(n1)例如,当 n10 时,函数值为 0.909091。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】double fun(int n)int i;double s=0.0;for(i=1;i= xa)三、程序设计题编写函数 fun,其功能是:根据以下公式求 P 的值,结果由函数值带回。m 与 n 为两个正整数且要求 mn。例如:m12,n 8 时,运行结果为 495.000000。注意:部分源程序在文件 PROG
18、1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】long jc(int m)long s=1;int i ;for(i=1;i=m;i+) s=s*i ;return s;float fun(int m, int n)float p;p=1.0*jc(m)/jc(n)/jc(m-n) ;return p;二级 C_第 32 套上机题一、程序填空题下列给定程序中,函数 fun 的功能是:将 NN 矩阵中元素的值按列向右移动 1 个位置,右边被移出矩阵的元素绕回左边第 1 列。例如,N3,有下列矩阵1 2 34 5 67
19、8 9计算结果为3 1 26 4 59 7 8请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!【参考答案】(1) N (2) N-1 (3) 0二、程序修改题下列给定程序中函数 fun 的功能是:计算并输出下列级数的前 N 项和 SN,直到 SN1 的值大于 q 为止,q 的值通过形参传入。例如,若 q 的值为 50.0,则函数值应为 49.394948。请改正程序中的错误,使程序能输出正确的结果。注意:部分源程序在文件 MODI1.C 中,不得增行或删行,也不得更改程序的结构!【参考答案】(1
20、)s=s +(double)(n+1)/n;(2)return t;三、程序设计题编写函数 fun,其功能是:求 Fibonacci 数列中大于 t 的最小的数,结果由函数返回。Fibonacci 数列 F(n)的定义为:F(0)0,F(1)1F(n)F(n1) F(n2)例如,当 t1000 时,函数值为 1597。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】int fun( int t)int f0 = 0, f1 = 1, f ;do f = f0 + f1 ;f0 = f1
21、;f1 = f ; while(f t) ;return f ;二级 C_第 33 套上机题一、程序填空题给定程序中,函数 fun 的功能是:计算出形参 s 所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参 s 所指的字符串为:This is a C language program.,函数的返回值为 6。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!【参考答案】(1)n+ (2)0 (3)s+二、程序修改题下列给定程序中,函数 fun 的功能
22、是:从 n 个学生的成绩中统计出低于平均分的学生人数,此人数作为函数值返回,平均分存放在形参 aver 所指的存储单元中。例如,输入 8 名学生的成绩: 80.5、60、72、90.5、98、51.5、88、64则低于平均分的学生人数为 4(平均分为 75.5625)。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODI1.C 中,不要改动 main 函数,不得增行或删行,也不得更改程序的结构!【参考答案】(1)t+=sk;(2)*aver=ave;三、程序设计题请编写一个函数 int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在 k 所指向的存储单元中。例如,输入如下整数:876 675 896 101 301 401 980 431 451 777则输出结果为 6,980。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。【参考答案】int fun(int *s,int t,int *k)int i;*k=0; /*k 所指的数是数组的下标值*/for(i=0;it;i+)