计算机二级上机题库很有用 题目就是里面出的
第15套上机考试答案解析:
1、程序填空题
【答案及难度指数】★★
(1)score[i] (2)high (3)high[i]
【一起来审题】
(1)该题中函数功能是考查的平均值的求法。
(2)从已给部分源程序的main主函数开始入手,"n=fun(score,6,high);"语句调用fun函数,实现题目要求。
(3)进入fun函数,首先计算总分,然后求得平均值,最后通过循环比较每一个分数与平均分的大小。
【解题思路】
第一空:语句"if(score[i]>aver)"是判断每一个成绩是否大于平均分,将大于平均分即符合条件的成绩存入high数组,所以第一空填"score[i]"。
第二空:根据fun函数的定义,知道在主函数中对fun函数的调用的参数应该填"high"。
第三空:利用for循环输出大于平均分的数组,所以这里应该填"high[i]"。
【主要考点】函数调用;数组操作。
2、程序改错题
【答案及难度指数】★
(1)double fun(int n) (2)return sum;
【一起来审题】
本题中函数的功能是计算并输出该数列前n项的平方根之和sum。解题思路首先根据题干求得每一项的值,然后再计算数列前n项的平方根之和。
【解题思路】
(1)第一个错误标识下fun函数的定义根据题干要返回前n项的平方根之和,函数具有返回值,所以"fun(int n)"应改为"double fun(int n)",其中double为双精度型变量。
(2)第二个标识符下返回平方根之和,根据C语言语法每一句C语言后面应该以";"为结尾,所以"return sum"改为"return sum;"。
【主要考点】C语言基本语法。
3、程序设计题
【答案及难度指数】★★★
int i,j=0,n=0,min;
//最低分数人数初始值为0
min=a[0].s;
//初始设定最小值为第一个学生的分数
for(i=0;i<M;i++)
//进入循环求得最小值
if(a[i].s<min)
min=a[i].s;
for(i=0;i<M;i++)
//进入循环将所有成绩与最小值进行比较
if(a[i].s==min)
{
*(b+j)=a[i];
//如果等于最小值,存入数组b
j++; //下标加1
n++; //最低分数学生加1
}
return n; //返回最低成绩人数
【一起来审题】
该程序功能是求最低分数的学生。本题是求解结构体中某些成员的最小值,首先将第一个值设定为最小值,并在循环中将其他所有值与该值进行比较,求得最小值。然后将最小值与所有成绩的值进行比较,求得所有的最小值。
【解题思路】
(1)要把最低分数的学生数据放在数组中,首先求出最低分数,使用一个for循环把所有的成绩进行比较,找出最低的分数来。
(2)找出所有与最低分数相等的值,每找出一个最低值就放在数组b中。
(3)所有的最低分数的学生的个数是数组b中最后的下标值加1。
【主要考点】数组操作;指针操作。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库c上机模拟详细参考答案_whc0909(17)在线全文阅读。
相关推荐: