首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷959

国家二级(C语言)机试模拟试卷959

本单篇文档共2849字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 模拟试卷 7610人下载
价格: 2.00 原价:¥7.00
收藏

国家二级(C语言)机试模拟试卷959

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。给定程序中,函数fun的功能是:函数fun根据所给n名学生的成绩,计算出所有学生的平均成绩,把高于平均成绩的学生成绩求平均值并返回。

例如,若有成绩为: 50,60,70,80,90,100,55,65,75,85,95,99, 则运行结果应为: 91.5

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

注意:部分源程序在文件blank1.c中。

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

#include

#pragma warning (disable:4996)

double fun(double x[], int n)

{\\tint i, k=0;

double avg=0.0, sum=0.0;

\\tfor (i=0; i<n; i++)

\\t\\tavg+= x[i];

/**********************found***********************/

\\tavg /=____(1)____;

\\tfor (i=0; i<n; i++)

\\t\\tif (x[i] > avg)

\\t\\t{

/**********************found***********************/

\\t\\t\\t____(2)____+= x[i];

\\t\\t\\tk++;

\\t\\t}

/**********************found***********************/

\\treturn ____(3)____;

}

main( )

{ double score[12] ={50,60,70,80,90,100,55,65,75,85,95,99};

double aa;

aa= fun(score,12);

printf(\\

(1) n

(2) sum

(3) sum/k

解析:填空(1) : fun( )函数有两个参数,第一个为数组x,第二个为数组元素个数n,首先利用第一个for循环将传入的所有数组元素加起来存入变量avg中,因为求的是平均值,所以需要除以元素个数,所以该空填数组元素个数n。答案为n。

填空(2) :第二个for循环将数组中每个元素值与平均成绩进行比较,把高于平均值的元素值加起来以便后期求其平均,此时需要一个变量用来存放高于平均成绩的元素总和,所以该空填sum。答案为sum。

填空(3) :变量k的作用为统计高于平均成绩的元素个数,当平均值时k++,因为题目要求把高于平均成绩的学生成绩求平均值并返回,所以用高于平均成绩的分数总数除以元素个数,所以该空填sum/k.答案为sum/k。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun将字符串s1和s2交叉合并形成新字符串s3,合并方法为:先取s1的第1个字符存入s3,再取s2的第1个字符存入s3,以后依次类推;若s1和s2的长度不等时,较长字符串多出的字符顺序放在新生成的s3后。

例如,当s1为: \\

(1)将for循环中的j=j+1改为j=j+2

(2) 将s3[i] = s[j]改为s3[j] = s2[i]

(3) 将s3[j-1]改为s3[j]

解析:

程序设计题

3.使VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。请编写函数fun,其功能是: 求n (n<10000)以内的所有四叶玫瑰数并逐个存放到result所指的数组中,四叶玫瑰数的个数作为函数值返回。

如果一个4位正整数等于其各个数字的4次方之和,则称该数为四叶玫瑰数。

例如,1634= 1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4,因此1634就是一个四叶玫瑰数。

注意:部分源程序在文件prog1.c中。

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

#include

int fun(int n, int result[])

{

}

main( )

{

\\tint result[10], n, i;

\\tvoid NONO(int result[], int n);

\\tn = fun(9999, result);

\\tfor(i=0; i<n; i++) printf(\\

int fun(int n, int result[])

{

int a.b,c,d.i,sum=0;

int count = 0;

for(i= 100;i<=n;i++)

{

a= i%10;

b= i/10%10;

c = i/100%10;

d= i/1000;

sum =a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d;

if(i == sum){

result[count++]=i;

}

}

return count; }

解析:

本文档预览:3600字符,共2849字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级(C语言)机试模拟试卷959

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号