首页 > 全部 > 二级C语言 > 国家二级C语言机试(操作题)模拟试卷531

国家二级C语言机试(操作题)模拟试卷531

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

国家二级C语言机试(操作题)模拟试卷531

程序填空题

1.给定程序中,函数fun的功能是:

计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。

例如,有10个正数:47、30、32、40、6、17、45、15、48、26,其平均值为30. 500000。

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

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

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

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

试题程序:

#include < stdlib.h >

#include < stdio .h >

#define N 10

double fun (double * x)

{ int i, j; double av, y[N];

av =0;

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

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

av +=【1】

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

if(x[i]<av){

y[j]=x[i];x[i]=一1;

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

【2】

}

i=0;

while (i< N)

【3】

}

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

return av;

}

main ()

{ int i; double x[N];

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

{x[i]=rand()%50;

print:f(\\

(1)x[i]/N

(2)j++或++j

(3)i++或++i

解析:填空1:av代表平均值,本题考查了怎样求平均值,因此本空应该填写x[i]/N。

填空2:通过for循环和if判断找到x[i]中比平均值小的数,并把这些值赋值给y[j],因此本空应该填写j++或者++j。

填空3:通过while循环语句,把x[i]中比平均值大的数放在数组y的后半部分,因此本空应该填写i++或者++i。

程序修改题

2.下列给定函数中,函数fun的功能是:统计字符串中各元音字母(即A、E、I、O、U)的个数。注意:字母不分大小写。

例如,输入\\

(1)void fun(char*s,int num[5])

(2)num[k]=0;

(3)switch(*s)

解析:switch语句说明如下:

(1)switch后的表达式,可以是整型或字符型,也可以死枚举类型。

式的类型为任何类型。

(2)每个case后的常量表达式只能是由常量组成的表达式,当switch后表达式的值与某一个常量表达式的值一致时,程序就转到此case后的语句开始执行。如果没有一个常量表达式的值与switch后的值一致,就执行default后的语句。

(3)各个case后的常量表达式的值必须互不相同。

(4)各个case的次序不影响执行结果,一般情况下,尽量将出现概率大的case放在前面。

(5)在执行完一个case后面的语句后,程序会转到下一个case后的语句开始执行,因而必须使用break语句才能跳出。

程序设计题

3.请编写函数fun,该函数的功能是:求出二维数组周边元素之和,作为函数值返回。

二维数组中的值在主函数中赋予。

例如,若二维数组中的值为:

1 3 5 7 9

2 9 9 9 4

6 9 9 9 8

1 3 5 7 0

则函数值为61。

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

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

试题程序:

#include < conio.h >

#include < stdio.h >

#include < stdlib .h >

#define M 4

#define N 5

int fun ( int a [M] [N] )

{

}

void main ()

{

FILE *wf;

int aa[M] [N] = {{1,3f 5,7,9},

{2,9 , 9 , 9,4},{6,9 , 9,9,8},

{1,3,5,7,0 }};

int i, j, y;

system (\\

int fun(int a[M] [N])

{

int i,j,sum=0;

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

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

if(i==0||i==M-1||i==0||j

==N一1)/*只要下标中有一个为0或M-1或N-1,则它一定是周边元素*/

sum=sum+a[i] [j];/*将周边元素相加*/

return sum;

}

解析:本题采用逐一判断的方式。二维数组周边元素的规律是,其两个下标值中一定有一个是0或M-1或N-1。程序中循环语句用来控制数组的行和列,条件语句用来判断数组元素是否为周边元素。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号