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

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

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

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

程序填空题

1.给定程序的主函数中,已给出由结构体构成的链表结点a、b、c,各结点的数据域中均存入字符,函数fun()的作用是:将a、b、c三个结点链接成一个单向链表,并输出链表结点中的数据。

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

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

试题程序:

#include<stdio.h>

typedef struct list

{ char data;

struct list*next;

}Q;

void fun(Q*pa,Q*pb,Q*pc)

{Q*P;

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

pa->next=【1】

pb->next=pc;

p=pa;

while(P)

{

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

printf(\\

(1)pb

(2)p->data

(3)p->next

解析:填空1:将三个结点连接起来,即将pa的指针域指向pb,pb的指针域指向pc。

填空2:输出链表结点中的数据,表示为p->data。

填空3:指针后移,指向下一个结点,即p=p->next。

程序修改题

2.给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。

例如:当输入100时,输出:

100=9+10+11+12+13+14+15+16

100=18+19+20+21+22

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

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

试题程序:

#include<stdio.h>

void fun(int n)

{ int j,b,c,m,flag=0;

for(b=1;b<=n/2;b++){

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

n=m;

c=b;

while(m!=0&&m>=C){

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

m=m-c;c++

}

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

if(m!=0)

{printf(\\

(1)m=n;

(2)m=m—c;c++;

(3)if(m=0)

解析:(1)每次循环,程序需要对n执行减去连续的正整数序列来判断n是否刚好为0,即n是否是连续的正整数序列之和,所以需要使用临时变量m寄存n的值,每次循环对m执行减运算操作,不满足继续下一轮。另外,程序声明变量m时,未初始化它的值,所以此处应该修改为:m=n。

(2)语法错误。c语言中每个语句必须以分号结束,所以应修改为:m=m—c;c++;。

(3)题目判断n是否是连续的正整数序列之和,若是,则输出所有序列,程序中m依次减去连续的正整数,当m为0时,表示m(即n)满足条件,再输出当前序列中的每个正整数,所以此处判断条件反了,应修改为:if(m==0)。

程序设计题

3.编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。

注意:部分源程序给出如下。

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

试题程序:

#include<stdlib.h>

#include<conio.h>

#include<stdio.h>

void fun(int m,int*k,int xx[])

{

}

void main()

{

int m,n,zz[100];

system(\\

Void fun(int m,int*k,int xx[])

{

int i,j,n=0;

for(i=4;i<m;i++) /*找出大于1小于整数m的非素数*/

{ for(j=2;j<i;j++)

if(i%j==0)break;

if(j<i)xx[n++]=i;

}

*k=n; /*返回非素数的个数*/

}

解析:本题考查:如何判断非素数;循环判断结构;数组的引用。

题目要求将1~m之间的非素数存入数组中,应使用循环判断结构。循环语句用来遍历1~m之间的每个数,判断语句用来判断该数是否为素数,若不是素数,则将其存入数组中。本题是考查一个数是否为素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决。

判定一个数是否为素数,即判断该数是否除了能被1和它本身整除外,不能被任何数整除。

代码实现如下:

for(j=2;j<i;j++)

if(i%j==0) /*如果余数为0,证明i不是素数*/

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号