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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。

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

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

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

试题程序:

#include<stdio.h>

#include<string.h>

#define N5

#define M8

void fun(char(*ss)[M])

{char*ps[N],*tp;int i,j,k;

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

ps[i]=ss[i];

for(i=0;i<N-1;i++){

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

k=【1】

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

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

if(strlen(ps[k])<strlen

(【2】))k=j;

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

tp=ps[i];ps[i]=ps[k];

ps[k]=【3】

}

printf(\\

(1)i

(2)ps[j]

(3)tp

解析:本题是按字符串的长短进行排序。

填空1:外循环每循环一次,k应保存当前的i值,所以应填i。

填空2:使用内循环对i+1后面的字符串长度进行比较,所以应填ps[j]。

填空3:此处的作用是交换两个变量的值,所以应填tp。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:输出M×M整数方阵,然后求两条对角线上元素之和,并作为函数值返回。

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

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

试题程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

#define M5

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

int fun(int n,inf xx[][])

{

int i,j,sum=0;

printf(\\

(1)int fun(int n,int xx[][M])

(2)prinff(\\

解析:(1)当用数组作为函数的形参时,可以不定义数组的行数,但一定要定义数组的列数。

(2)该处错误比较隐蔽,一般C语言上机考试很少涉及prinff函数中的错误,此处只要明白“d”和“f”的区别就可以了。格式字符d表示以带符号的十进制形式输出整数(正整数不输出符号);格式字符f表示以小数形式输出单精度、双精度数据,隐含输出6位小数。

程序设计题

3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,该函数的功能是:求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。

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

1 3 5 7 9

2 9 9 9 4

6 9 9 9 8

1 3 5 7 0

则函数值为61。

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

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

试题程序:

#include<conio.h>

#iticlude<stdio.h>

#include<stdlib.h>

#define M4

#define N5

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

{

}

void main()

{

FILE*wf;

int aa[M][N]={{1,3,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||j=0||j==N-1)/*只要下标中有一个为0或M-1或N-1,则它一定是周边元素*/

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

return sum;

}

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

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号