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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。此程序的描述是围绕山顶一圈有N个山洞,编号为0、1、2、3、…、N﹣1,有一只狐狸和一只兔子在洞中居住。狐狸总想找到兔子并吃掉它,它的寻找方法是先到第一个洞(即编号为0的洞)中找;再隔1个洞,即到编号为2的个洞中找;再隔2个洞,即到编号为5的洞中找;下次再隔3个洞;即到编号为9的洞中找;……。若狐狸找一圈,请为兔子指出所有不安全的洞号。程序中用a数组元素模拟一个洞,数组元素的下标即为洞号,数组元素中的值为0时,表示该洞安全,为1时表示该洞不安全。若形参n的值为30时,不安全的洞号是0、2、5、9、14、20、27。

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

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

试题程序:

#include<stdio.h>

#define N100

void fun(int*a,int n)

{int i,t;

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

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

a[i]=【1】

i=0;

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

【2】=1;

while(i<n)

{a[i]=1;

t++;

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

i=【3】

}

}

main()

{int a[N],i,n=30;

fun(a,n);

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

if(a[i]==1)

printf(\\

(1)0

(2)t

(3)i+t

解析:首先为数组所有元素赋初值0,利用循环为符合条件的数组赋值为1,并计算下一个数据的下标。设置一个变量存放间隔数,每次循环间隔数加1。本次下标加间隔数加1为下一个下标。

填空1:利用循环为数组所有元素赋值为0。

填空2:变量t为间隔数,在循环过程中每次加1,设定初始值为1。

填空3:下一个数组下标为本次的下标加间隔数加1的值。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,规定输入的字符串全部为字母,fun函数的功能是:统计a所指字符串中每个字母在字符串中出现的次数(统计时不区分大小写),并将出现次数最高的字母输出(如果有多个相同,输出一个即可)。

例如对于字符串:dadbcdbabdb,对应的输出应为:b或d。

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

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

试题程序:

#include<stdio.h>

#include<stdio.h>

#include<string.h>

void fun(char a[])

{int b[26],i,n,max;

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

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

a[i]=0;

rl=strlen(a);

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

if(a[i]>=’a’&&a[i]<=’z’)

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

b[a[i]﹣’A’]++;

else if(a[i]>=’A’&&a[i]<=’Z’)

b[a[i]﹣’A’]++;

max=0;

for(i=1;i<26;i++)

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

if(b[max]>b[i])

max=i;

printf(\\

(1)b[i]=0;

(2)b[a[i]﹣’a’]++;

(3)if(b[max]<b[i])

解析:要统计字符串中每个字符在这个字符串中出现的次数,可以设数组b中存放每个字符出现的次数b[0]存放字符a的次数,b[1]存放字符b的次数……。统计之前为数组b各元素赋初值为0。然后依次取出字符串的每个字符进行判断,使对应数组b加1。max初始值为0,与数组b中的每个元素进行比较,如果小于,就把下标进行交换。

(1)数组a存放的是字符串,数组b为整型数组存放的是每个字符的个数,应将数组b每个元素初始化为0。

(2)小写字母的ASCII码减去’a’的ASCII即为相应字母的下标值,相应下标值的数组元素的值增加1。

(3)最大值小于被比较数时,把被比较数的下标值赋给max,max中存放的总是当前最大值。

程序设计题

3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。可调用strlen函数求字符串的长度。例如:在键盘输入字符串2345210,函数返回长整型数2345210。

注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。

试题程序:

#include<stdio.h>

#include<string.h>

void NONO();

long fun(ohar*s)

{

}

main()

{char s[10];long r;

printf(\\

long fun(char*s)

{

int i,len;

long sum=0;

len=strlen(s);

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

{,

sum=sum*10+*s﹣’0’;

s++;

}

retUrn Sum;

}

解析:要把一个数字字符转为相应的数字,只要用它的ASCII码减去48即可。要把数字字符串转为相应的数字,则要从左到右依次取出字符转为相应数字,乘10再加上下一位数字。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号