C语言全国等级考试上机练习题111.docx
- 文档编号:25969332
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:27
- 大小:32.52KB
C语言全国等级考试上机练习题111.docx
《C语言全国等级考试上机练习题111.docx》由会员分享,可在线阅读,更多相关《C语言全国等级考试上机练习题111.docx(27页珍藏版)》请在冰豆网上搜索。
C语言全国等级考试上机练习题111
第一部分程序填空题
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:
每题的部分源程序在CTK\RT文件夹中的SJLX1.C----SJLX50.C中。
不得增行或删行,也不得更改程序的结构!
1、给定程序中,函数fun的功能是:
在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:
1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:
8
处理后主函数中输出的数列为:
8 8 8 23 87 8 8 21 45
2、给定程序中,函数fun的功能是建立一个N×N的矩阵。
矩阵元素的构成规律是:
最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。
例如,若N=5,生成的矩阵为:
1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
3、给定程序中,函数fun的功能是:
将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
例如,形参s所指的字符串为:
def35adh3kjsdf7。
执行结果为:
defadhkjsdf3537。
4、给定程序中,函数fun的功能是:
有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。
例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
计算结果为
1 0 0
6 5 0
10 14 9
5、给定程序中,函数fun的功能是:
对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:
baawrskjghzlicda,执行后p所指字符数组中的字符串应为:
aachjlsw。
6、程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。
函数fun的功能是输出这位学生的信息。
7、给定程序中,函数fun的功能是:
计算N×N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。
注意:
要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。
例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。
8、给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:
46 30 32 40 6 17 45 15 48 26,平均值为:
30.500000
主函数中输出:
46 32 40 45 48
9、给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:
46 30 32 40 6 17 45 15 48 26,平均值为:
30.500000
移动后的输出为:
30 6 17 15 26 46 32 40 45 48
10、给定程序中,函数fun的功能是:
计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:
46 30 32 40 6 17 45 15 48 26,平均值为:
30.500000
移动后的输出为:
46 32 40 45 48 30 6 17 15 26
11、函数fun的功能是:
把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。
例如:
若a所指数组中的数据最初排列为:
9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:
9、1、3、5、7,返回值为5。
12、给定程序中,函数fun的功能是:
求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。
ss所指字符串数组中共有M个字符串,且串长均小于N。
13、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。
函数fun的功能是:
找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。
14、函数fun的功能是:
将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。
例如:
若a所指数组中的数据依次为:
1、2、3、4、5、6、7、8、9,则调换后为:
6、7、8、9、5、1、2、3、4。
15、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
16、给定程序中,函数fun的功能是:
找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
17、给定程序中,函数fun的功能是:
统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
例如,形参s所指的字符串为:
abcdef35adgh3kjsdf7。
输出结果为:
4。
18、函数fun的功能是:
把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。
例如:
若a所指数组中的数据最初排列为:
9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:
1、9、2、8、3、7、4、6、5。
形参n中存放a所指数组中数据的个数。
注意:
规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。
19、给定程序中,函数fun的功能是:
将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。
例如,s所指字符串为:
asd123fgh5##43df,
处理后新字符串为:
123543asdfgh##df。
20、给定程序中,函数fun的功能是:
有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边置为0。
例如,N=3,m=2,有下列矩阵
1 2 3
4 5 6
7 8 9
程序执行结果为
0 0 1
0 0 4
0 0 7
21、函数fun的功能是:
把形参a所指数组中的偶数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把奇数从数组中删除,偶数个数通过函数值返回。
例如:
若a所指数组中的数据最初排列为:
9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:
4、2、6、8,返回值为4。
22、给定程序中,函数fun的功能是:
判定形参a所指的N×N(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1; 不是,函数返回值为0。
"幻方"的判定条件是:
矩阵每行、每列、主对角线及反对角线上元素之和都相等。
例如,以下3×3的矩阵就是一个"幻方":
4 9 2
3 5 7
8 1 6
23、给定程序中,函数fun的功能是将a和b所指的两个字符串分别转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。
例如,主函数中输入字符串:
32486和12345,在主函数中输出的函数值为:
44831。
24、给定程序中,函数fun的功能是:
把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:
字符串的长度大于等于2)。
例如,形参s所指的字符串为:
abcdefgh,执行结果为:
ahcbedgf。
25、给定程序中,函数fun的功能是:
求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。
ss所指字符串数组中共有M个字符串,且串长均小于N。
26、给定程序中,函数fun的功能是:
将N×N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。
例如,N=3,有下列矩阵
1 2 3
4 5 6
7 8 9
计算结果为
3 1 2
6 4 5
9 7 8
27、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时,程序输出:
x1=5.000000, x2=3.000000, x1*x1+x1*x2=40.000000
28、给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:
将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。
29、给定程序中,函数fun的功能是:
对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。
ss所指字符串数组中共有M个字符串,且串长均小于N。
30、给定程序中,函数fun的作用是:
统计整型变量m中各数字出现的次数,并存放到数组a中,其中:
a[0]存放0出现的次数,a[1]存放1出现的次数,…… a[9]存放9出现的次数。
例如,若m为14579233,则输出结果应为:
0,1,1,2,1,1,0,1,0,1,
31、给定程序中,函数fun的功能是:
在形参s所指字符串中的每个数字字符之后插入一个*号。
例如,形参s所指的字符串为:
def35adh3kjsdf7。
执行结果为:
def3*5*adh3*kjsdf7*。
32、函数fun的功能是:
输出a所指数组中的前n个数据,要求每行输出5个数。
33、给定程序中,函数fun的功能是:
调用随机函数产生20个互不相同的整数放在形参a所指数组中(此数组在主函数中已置0)。
34、函数fun的功能是:
进行数字字符转换。
若形参ch中是数字字符’0’~’9’, 则’0’转换成’9’,’1’转换成’8’,’2’转换成’7’,……,’9’转换成’0’;若是其它字符则保持不变;并将转换后的结果作为函数值返回。
35、给定程序中,函数fun的功能是:
求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。
ss所指字符串数组中共有M个字符串,且串长均小于N。
36、给定程序中,函数fun的功能是:
求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。
字符串数组中共有M个字符串,且串长均小于N。
37、给定程序中,函数fun的功能是:
将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
38、人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。
函数fun的功能是:
找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。
39、给定程序中,函数fun的功能是:
有N×N矩阵,将矩阵的外围元素顺时针旋转。
操作顺序是:
首先将第一行元素的值存入临时数组r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。
例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
计算结果为
7 4 1
8 5 2
9 6 3
40、给定程序中,函数fun的功能是:
将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。
例如,若N=3,有下列矩阵:
1 2 3
4 5 6
7 8 9
交换后为:
3 2 1
4 5 6
9 8 7
41、给定程序中,函数fun的功能是:
在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。
例如,s所指字符串为:
baacda,c中的字符为:
a,
执行后s所指字符串为:
baaaacdaa。
42、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。
43、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。
所有学生数据均以二进制方式输出到文件中。
函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。
44、给定程序中,函数fun的功能是:
将形参指针所指结构体数组中的三个元素按num成员进行升序排列。
45、给定程序中,函数fun的功能是:
计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。
例如,有10个正数:
46 30 32 40 6 17 45 15 48 26,平均值为:
30.500000
主函数中输出:
m=30
46、给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。
函数fun的功能是将该学生的各科成绩都乘以一个系数a。
47、围绕山顶一圈有N个山洞,编号为0、1、2、3、……、N-1,有一只狐狸和一只兔子在洞中居住。
狐狸总想找到兔子并吃掉它,它的寻找方法是先到第一个洞(即编号为0的洞)中找;再隔1个洞,即到编号为2的洞中找;再隔2个洞,即到编号为5的洞中找;下次再隔3个洞;即到编号为9的洞中找;……。
若狐狸找一圈,请为兔子指出所有不安全的洞号。
程序中用a数组元素模拟每个洞,数组元素的下标即为洞号,数组元素中的值为0时,表示该洞安全,为1时表示该洞不安全。
例如,当形参n的值为30时,不安全的洞号是0、2、5、9、14、20、27。
48、函数fun的功能是:
逆置数组元素中的值。
例如:
若a所指数组中的数据依次为:
1、2、3、4、5、6、7、8、9,则逆置后依次为:
9、8、7、6、5、4、3、2、1。
形参n给出数组中数据的个数。
49、函数fun的功能是:
把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中;再把a所指数组元素中的次大值放在a[2]中,把a数组元素中的次小值放在a[3]中;其余以此类推。
例如:
若a所指数组中的数据最初排列为:
1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:
9、1、8、2、7、3、6、4、5。
形参n中存放a所指数组中数据的个数。
50、给定程序中,函数fun的功能是:
将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。
第二部分程序修改题
请改正函数fun中指定部位的错误,使它能得出正确的结果。
注意:
每题的部分源程序在CXG\RT文件夹中的的XGLX1.C----XGLX50.C中。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
1、给定程序XGLX1.C中,fun函数的功能是:
删除b所指数组中小于10的数据。
主函数中输出删除后数组中余下的数据。
2、给定程序XGLX2.C中函数fun的功能是:
将十进制正整数m转换成k(2≤k≤9)进制数,并按高位到低位顺序输出。
例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示是1000)。
3、给定程序XGLX3.C中函数fun的功能是:
用冒泡法对6个字符串按由小到大的顺序进行排序。
4、给定程序XGLX4C中函数fun的功能是:
计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。
其中x和y的值不等,z和y的值不等。
例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。
5、给定程序XGLX5.C中函数fun的功能是:
用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:
π 1 1 1
┄┄≈1-┄┄+┄┄-┄┄+...
4 3 5 7
例如,程序运行后,输入0.0001,则程序输出3.1414。
6、给定程序XGLX6.C中函数fun的功能是:
求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
7、程序XGLX7.C采用二分法求方程的根。
例如,若给m输入-100,给n输入90,则函数求得的一个根值为2.000。
8、给定程序XGLX8.C中函数fun的功能是:
根据整型形参m,计算如下公式的值。
1 1 1 1
y=-------+---------+---------+……+-------
100*100 200*200 300*300 m*m
9、给定程序XGLX9.C中函数fun的功能是:
统计字符串中各元音字母(即:
A、E、I、O、U)的个数。
注意:
字母不分大、小写。
例如:
若输入:
THIsisaboot,则输出应该是:
1、0、2、2、0。
10、给定程序XGLX10.C的功能是:
读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
例如,若输入:
Iamastudenttotaketheexamination.,
则应输出:
IAmAStudentToTakeTheExamination.。
11、给定程序XGLX11.C中函数fun的功能是:
求出两个非零正整数的最大公约数,并作为函数值返回。
例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出的最大公约数为27。
12、给定程序XGLX12.C中函数fun的功能是:
将tt所指字符串中的小写字母都改为对应的大写字母,其它字符不变。
例如,若输入"Ab,cD",则输出"AB,CD"。
13、给定程序XGLX13.C的功能是:
读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。
例如,若输入整数:
2310,则应输出:
2、3、5、7、11。
14、给定程序XGLX14.C中函数fun的功能是:
把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。
例如,输入的数为:
55 12 34,
输出结果应当是:
a=55.0,b=34.0,c=12.0。
15、给定程序XGLX15.C中函数fun的功能是:
依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
16、给定程序XGLX16.C中函数fun的功能是:
交换主函数中两个变量的值。
例如:
若变量a中的值原为8,b中的值为3。
程序运行后a中的值为3,b中的值为8。
17、给定程序XGLX17.C中函数fun的功能是:
通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。
例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。
18、给定程序XGLX18.C中函数fun的功能是:
用递归算法计算斐波拉契数列中第n项的值。
从第1项起,斐波拉契数列为:
1、1、2、3、5、8、13、21、……
例如,若给n输入7,该项的斐波拉契数值为:
13。
19、给定程序XGLX19.C中函数fun的功能是:
首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。
例如,当a所指字符串中的内容为"abcdefg",b所指字符串中的内容为"1234"时,c所指数组中的内容应该为"a4b3c2d1efg";而当a所指字符串中的内容为"1234",b所指字符串中的内容为"abcdefg"时,c所指数组中的内容应该为"1g2f3e4dcba"。
20、给定程序XGLX20.C中函数fun的功能是:
计算并输出high以内最大的10个素数之和。
high的值由主函数传给fun函数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 全国 等级 考试 上机 练习题 111