数组填空题c语言及答案,2015年计算机二级《C语言》精选练习题及答案(22)

本文提供了一组C语言编程题目,涉及数组处理和函数应用。题目要求计算数组平均值并将数值按条件排序,同时展示递归函数调用和结构体数组的操作。解答中详细解释了每道题目的解题思路和关键代码填写,帮助读者深入理解C语言中的数组操作和函数交互。
摘要由CSDN通过智能技术生成

1[填空题]给定程序中,函数fun的功能是:计算形参X所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至X所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有l0个正数:46、30、32、40、6、17、45、15、48、26,平均值为30.500000。

移动后的输出为:46、32、40A5、48、30、6、17、15、26。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANKl.C中。

不得增行或删行,也不得更改程序的结构!

试题程序:

50f1696f99adb6dd9bfc7e594ed05c4d.png

参考解析:

(1)sdN (2)j++ (3)一1

【解题思路】

填空l:由原程序可知,av代表的是平均值,而平均值的求法是所有数的总和除以数的个数,因而本空应该填写s/N。

填空2:y数组代表暂时存放X数组,if(X[i]>av)表达的是当x数组中的数大于平均值时,应该把这些大于平均值的数放在y数组的前半部分,因而此空应该填y[j++]。

填空3:此空表明当x[i]不等于什么时,X[i]中的数要赋值给Y数组,由题意可知此空只能填写一1。

2[单选题] 有以下程序:

1e80c391490369c10b5103f4f65197da.png

程序运行后的输出结果是( )。

A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World

参考答案:A

参考解析:P是指向二维字符数组第二行One+Dream!的数组指针,所以长度是l0,打印输出的也是该字符串。

3[简答题]学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生人数。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

试题程序:

6e4086d07985a14961af57239b139fd4.png

5fe48b21a48eb555c98e0d93e8923bcd.png

参考解析:

ec460c7af2e64e7f67824cc98fdf104a.png

【考点分析】

本题考查:结构体数组操作;用循环判断结构查找数组中的最大值。

【解题思路】

该程序使用两个循环判断语句,第1个循环判断语句的作用是找出最大值;第2个循环判断语句的作用是找出与max相等的成绩(即最高成绩)的学生记录,并存入b中。

【解题宝典】’

对于如何找出数组中最大值(多个相等)的方法,我们已经不陌生。如何对结构体数组进行类似操作呢?

掌握以下语句:

8ec1a83ddca3edc0da6bf2263d8e4505.png

4[单选题] 有以下程序:

e70d86f50e43c8bc9b1035bdfa07f5fa.png

程序运行后的输出结果是( )。

A.7B.10C.8D.9

参考答案:D

参考解析:调用f(a,b)函数返回3,调用f(a,c)函数返回6,所以外层调用f(f(a,b),f(a,c));即调用f(3,6)函数返回9。

5[单选题] 有以下程序

20dfcb3d12c3566a5a1f354808f97702.png

af64e8f8019f56caba818f8c5e2b45c2.png

程序的输出结果是

A.9B.14C.10D.15

参考答案:D

参考解析:考查函数的递归调用,只需要一步一步递归调用fun函数即可,执行fun(5)=5+(4+(3+(2+fun(1))))=15。所以答案为D选项。

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值