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

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

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

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

程序填空题

1.人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。

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

注意:源程序存放在考生文件夹下的BLANK1.C中。

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

#include<stdio.h>

#define N 8

typedef struct

{ int num;

int year,month,day;

}STU;

int fun(STU*std,STU*k,int year)

{ int i,n=0;

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

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

if(___1___==year)

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

k[n++]=___2___;

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

return(___3___);

}

main()

{STU std[N]={{1,1984,2,15),{2,1983,9,21},{3,1984,9,1},{4,198 3,7,15},{51985,9,28},{6,1982,11,15},{7,1982,6,22},{8,1984,8,19}};

STU k[N];int i,n,year;

printf(\\

(1)std[i].year

(2)std[i]

(3)n

解析:fun函数的功能是在结构体数组std中找出指定出生年份的人员将其数据放在形参k所指的数组中。

第一空:比较结构体的出生年份是否等于year,std是结构体指针,指向结构体数组的首地址,因此,访问一个结构体的year成员是“std[i].year”,因此,第一空处应为“if(std[i].year==year)”。

第二空:这里是将找到的数据放在形参k所指的数组中,k是指针变量,k指向结构体数组的首地址,std[i]是结构体的地址,因此,等号左边也应该是地址,故第二空处应为“k[n++]=std[i];”。

第三空:fun函数的返回值是满足指定条件的人数n,故第三空处是“return(n);”。

程序修改题

2.给定程序MODI1.C的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。

例如,若输入整数:2310,则应输出:2、3、5、7、11。

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

注意:不要改动main函数,不得增行或删行,

也不得更改程序的结构!

#include<stdio.h>

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

IsPrime(int n);

{ int i,m;

m=1;

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

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

if !(n%i)

{ m=0;break;}

return(m);

}

main()

{ int j,k;

printf(\\

(1)IsPrime(int n)

(2)if(!(n%i))

解析:函数功能是求整数n的素数因子,IsPrime自定义函数的功能是判断j是否为素数。

(1)第一个标识下面的“IsPrime(int n);”在程序中显然是一个函数,因此,应将后面的分号去掉。

(2)第二个标识下面的if语句后面缺少括号,因此,“if!(n%i)”应改为“if(!(n%i))”。

该题主要考查标点符号、运算符、基本定义。

程序设计题

3.已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。请编写函数fun,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。

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

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

#include<stdio.h>

#include<string.h>

#defiFie N 10

typedef struer ss

{ char num[10];int s;}STU;

fun(STU a[],STU*s)

{

}

main()

{STU a[N]={{\\

int i,max=a[0].s,j=0;

for(i=1;i<N;i++) if(max<a[i].s){

j=i;

max=a[i].s;}

*s=a[j];

解析:该程序功能是求最高分数的学生。本题是关于求解结构体中某些成员的最大值,首先将第一个值设定为最大值,并在循环中将其他所有值与该值进行比较,求得最大值。然后将最大值与所有值进行比较,求得所有的最大值。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号