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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blankl.c。在此程序中,函数fun()的功能是在3×4的矩阵中找出在行上最大、在列上最小的元素,若没有符合条件的元素,则输出“Not found!”。

例如,有下列矩阵:

1 2 13 4

7 8 10 6

3 5 9 7

程序执行结果为find:a[2][2]=9。

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

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

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

试题程序:

#include <stdio.h>

#define M 3

#define N 4

void fun(int(*a)[N])

{int i=0,j,find=0,rmax,c,k;

while((i<M)&&(!find))

{rmax=a[i][0];c=0;

for(j=1;j<N;j++)

if(rmax<a[i][j]){

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

rmax=a[i][j];c=【1】;}

find=1;k=0;

while(k<M&&find){

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

if(k!=i&&a[k][c]<=rmax)

find=【2】

k++;

}

if(find)

printf(\\

(1)j (2)0 (3)i++

解析:本题要求在矩阵中找出在行上最大、在列上最小的元素。

填空1:找出行上最大的元素,并将该元素所在列j保存到变量c中。故空1处应该填j。

填空2:使用while循环语句和控制变量find判断rmax是不是列中最小的元素。如果rmax不是列中最小的元素,那么把find置0。故空2处应该填0。

填空3:变量i是最外层循环while的控制变量,所以每循环一次,该数值要加1,故空3处应该填i++。

程序修改题

2.使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是根据整型参数m的值,计算如下公式。

(1)for(i=2;i<=m;i++)

(2)y-=1.0/(i*i);

解析:(1)使用for循环计算公式,必须计算到最后一项m,所以应改为for(i=2;i<=m;i++)。

(2)在除法运算中,如果除数和被除数都是整数,那么商也是整数,所以整数1改为浮点数1.0,应改为y-=1.0/(i*i);。

程序设计题

3.使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。程序中将m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。

例如,当score数组中的数据为10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据应为10、20、30、40。

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

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

试题程序:

#include <conio.h>

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int fun(int score[],int m,int below[])

{

}

void main()

{

FILE *wf;

int i,n,below[9];

int score[9]={10,20,30,40,50,60,70,80,90);

system(\\

int fun(int score[],int m,int below[])

{

int i,j=0;

float av=0.0;

for(i=0;i<m;i++)

av=av+score[i]/m;/*求平均值*/

for(i=0;i<m;i++)

if(score[i]<av)/*如果分数低于平均分,则将此分数放入below数组中*/

below[j++]=score[i];

return j;/*返回低于平均分的人数*/

}

解析:要计算低于平均分的人数,首先应该求出数组score中各元素的平均值。然后通过for循环语句和if条件语句找出低于平均值的分数。该题第1个循环的作用是求出平均值av,第2个循环的作用是找出数组score中低于平均值的或绩记录并存入below数组中。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号