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

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

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

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

程序填空题

1. 给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。

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

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

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

#include

#include

void fun (char *s, int a, double f)

{

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

【1】fp

char

str[100],strl[100],str2[100] ;

int al; double fl;

fp = fopen(\\

(1)FILE* (2)fclose(fp)(3)fp

解析:第一空:“fp=fopen(\\

程序修改题

2. 给定程序MODI1.C中函数fhn的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include

#include

#include

#define N 10

typedef struct ss

{ char num[10];

int s; }

STU;

STU *fun(STU a[], int m)

{STU b[N], *t;

int i,j,k;

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

t=(STU *)calloc(sizeof(STU),m)

for(i=0; i<N; i++) b[i]=a[i];

for(k=0; k<m; k++)

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

if (b[i] .s > b[j] .s) j=i;

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

t(k)=b(j);

b[j].s=0;

}

return t;

}

outresult(STU a[], FILE *pf)

{ int i;

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

fprintf (pf, \\

(1)t=(STU*)calloc(sizeof

(STU),m);

(2)t[k]=b[j];

解析:(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t=(STU*)calloc(sizeof(STU),m)”语句没有使用分号“;”结束,因此,需要在语句结尾处加分号。calloc函数是C语言的动态分配函数,分配存储空间。

(2)第二个标识下是将b数组拷贝到t数组,在C语言中,数组元素的访问使用中括号“[]”而不是圆括弧“()”,因此,第二标识下应改成“t[k]=b[j];”。

程序设计题

3. 请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。

例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6

7 7 8 9 9 10 10 10。

删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。

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

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

#include

#define N 80

int fun(int a[], int n)

{

}

main ()

{int a [N] ={2, 2,2, 3, 4, 4, 5, 6, 6, 6, 6,

7,7,8,9,9,10,10,10,10},i,n=20;

void NONO ();

printf(\\

int i,t,j=0,*p=a;

t=p[0]; //设置临时变量t初值指向第

一数组值

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

if(t==p[i]) //当临时变量与数组

中的某个值相同则跳出,比较下一个元素

else //如果临时变量与数组中值

不同,则对临时变量重新赋值

{a[j]=t;

t=p[i];

j++;}

if(i>=n) a[j]=t;

return j;

解析:(1)首先,设置一个临时变量,初值设置为一维数组的第一个元素。

(2)然后,依次将数组的元素与临时变量比较,如果相同,则继续取数组下一个元素与临时变量比较;如果不同,则将临时变量的值赋值到数组的第一个元素,同时将此与临时变量不同的数组元素赋值给临时变量。

(3)循环执行,直到所有的数据处理完毕。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号