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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blankl.c。在此程序中,函数fun()的功能是输出a所指数组中的前n个数据,要求每行输出5个数。

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

注意:源程序存放在考生文件夹下的文件blankl.c中。不得增行或删行,也不得更改程序的结构!

试题程序:

#include <stdio.h>

#include <stdlib.h>

void fun(int *a,int n)

(int i;

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

{

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

if(【1】==0)

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

printf(\\

(1)i%5 (2)\n (3)a[i]

解析:填空1:题目要求输出数组a中前n个数,每行输出5个,即当下标能整除5时换行。故空1处应该填i%5。

填空2:输出函数printf()的输出换行符为\n。

故空2处应该填\n。

填空3:使用函数printf()输出数组元素。数组元素为a[i]。故空3处应该填a[i]。

程序修改题

2.使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,fun()函数的功能是在任意给定的N个正整数中,从左到右依次取3个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原3个数中中间位置的数。处理后原数列中首尾2个数不变。处理后的数列在主函数中输出。例如,有10个正整数如下。

初始数列为6 5 7 23 18 5 8 21 45 38。

第1组数为6 5 7;中值为6;替换后的数列为6 6 7 23 18 5 8 21 45 38。

第2组数为5 7 23;中值为7;替换后的数列为6 6 7 23 18 5 8 21 45 38。

第3组数为7 23 18;中值为18;替换后的数列为6 6 7 18 18 5 8 21 45 38。

第4组数为23 18 5;中值为18;替换后的数列为6 6 7 18 18 5 8 21 45 38。

第5组数为18 5 8;中值为8;替换后的数列为6 6 7 18 18 8 8 21 45 38。

第6组数为5 8 21;中值为8;替换后的数列为6 6 7 18 18 8 8 21 45 38。

第7组数为8 21 45;中值为21;替换后的数列为6 6 7 18 18 8 8 21 45 38。

第8组数为21 45 38;中值为38;替换后的数列为6 6 7 18 18 8 8 21 38 38

最终结果为6 6 7 18 18 8 8 21 38 38。

请改正程序中指定部位的错误,使它能得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include <stdio.h>

#define N 10

int findmid(int a,int b,int c)

{int t;

t=(a>b)? (b>c?b:(a>c?c:a)):((a>c)?a:((b>c)?c:b));

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

return b;

}

void fun(int x[])

{2nt i,a,b,c,t[N];

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

for(i=0;i<N;i++)t[i]=x[i]

for(i=0;i<N-2;i++)

{a=t[i];b=t[i+1];c=t[i+2];

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

t[i+1]=findmid(a,b,c);

}

}

main()

(int i,x[N]={6,5,7,23,18,5,8,21,45,38};

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

printf(\\

(1)return t;

(2)for(i=0;i<N;i++)t[i]=x[i];

(3)x[i+1]=findmid(a,b,c);

解析:(1)函数findmid()的功能是找到变量a、b、c这3个数中的中间数,并将其存放在变量t中。因此应返回变量t。

(2)语法错误,句末缺少分号。

(3)本程序是对数组x进行操作,数组t只是用来暂时存放数组x中的元素,因此此处应为x[i+1]=findmid(a,b,c)。

程序设计题

3.使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(),函数的功能是查找x在s所指数组中下标的位置,并将其作为函数值返回,若x不存在,则返回-1。

注意:部分源程序在文件progl.c中。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。

试题程序:

#include <stdio.h>

#include <stdlib.h>

#define N 15

void NONO();

int fun(int *s,int x)

{

}

main()

{int a[N]=(29,13,5,22,10,9,3,18,22,25,14,15,2,7,27},i,x,index;

printf(\\

int fun(int *s,int x)

{int i;

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

if(x==s[i])return i;

return-1;

}

解析:要找出数组中指定数据的下标,首先定义变量i用于存放数组下标,然后使用循环语句对数组进行遍历,依次取出一个数组元素与指定的数进行比较,若相等,则返回该元素的下标,否则继续判断下一个元素,直到数组结束。若数组结束时仍没有找到与指定数相等的元素,则返回-1。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号