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

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

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

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

程序填空题

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

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

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

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

#include

#include

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

{

1— fp;

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

int al; double f1;

fp = fopen (\\

(1) FILE*

(2) fclose(fp)

(3) fp

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

第一空:“fp=fopen(\\

程序修改题

2.给定程序MODI1.C中函数fun的功能是:对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)

int i,j,k;

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

}

return t;

}

outresult(STU a[],FILE *pf)

{ int i;

fprintf (pf,\\

(1)t= (STU* )ca11oc (sizeof (STU) ,m);

(2)t[k]____b[j];

解析:本题中函数的功能是按学习成绩从高到低的顺序找出前m (m≤10)名学生。利用循环结构实现对定义的结构体中的成绩域进行排序。

(1)题干中要求结构体STU类型的m个学生放在动态分配的连续存储区中,“t=(STU *)ca11oc(sizeof(STU),m)”语句没有使用分号“;”结束,因此需要在语句结尾处加分号。ca11oc函数是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 1 0 1 0。

删除后,数组中的内容应该是:2345678910。

注意:部分源程序在文件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 },1,n=20; void

NONO ();

printf (\\

1 int i,七,j=0,* p=a;

2 t=p [01; // 设置临时变量t初值指向第一数组值

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

4 i f(t==p[i]) // 当临时变量与数组中的某个值相同则跳出,比较下一个元素

5 ;

6 else //如果临时变量与数组中值不同,则对临时变量重新赋值

7 {a[j]=t j

8 t=p[i];

9 j ++; )

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

11 return j;

解析:该程序功能是删去一维数组中所有相同的数,使之只剩一个。解题思路是,首先在函数中定义临时变量指向每一个元素,然后在循环过程中将临时值和其他元素进行比较,如果相同,那么跳过相同字符。

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

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

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

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号