【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷347及答案解析.doc

上传人:priceawful190 文档编号:1332161 上传时间:2019-10-17 格式:DOC 页数:3 大小:34.50KB
下载 相关 举报
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷347及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷347及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷347及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 347及答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.函数 fun的功能是进行数字字符转换。若形参 ch中是数字字符09,则0转换成9,1转换成8,2转换成7,9转换成0;若是其他字符则保持不变:并将转换后的结果作为函数值返回。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1C 中。 不得增行或删行,也不得更改程序的结构! #include _1_ fun (char ch) return 9 (ch _3_) ; return ch

2、 ; main () char c1/ c2; printf (“/nThe result :/n“) ; c1=2; c2 = fun (c1) ; printf (“c1=C c2=c/n“,c1,c2) ; cl=8; c2 = fun (cl) ; printf (“cl= c2=c /n “ , c1, c2) ; c1=a; c2 = fun (c1) ; printf (“c1=c c2=ooC/n“,c1,c2) ; (分数:2.00)_二、程序修改题(总题数:1,分数:2.00)2.给定程序 MODI1C 中函数 fun的功能是:将 p所指字符串中的所有字符复制到 b中,要求

3、每复制三个字符之后插入一个空格。 例如,在调用 fun函数之前给 a输入字符串: ABCDEFGHIJK,调用函数之后,字符数组 b中的内容则为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 #include void fun(char *p,char *b) int i,k=0; while ( *p) b k =p; k+;p+;i+; if(*p) /*found*/ bk+=“ “; main () char a80,b80; printf (“Enter a string:“) ; ge

4、ts (a) ; printf (“The original string: “) ; puts (a) ; fun (a,b) ; printf ( “/nThe string after insert space: “) ; puts (b) ; printf (“/n/n“) ; (分数:2.00)_三、程序设计题(总题数:1,分数:2.00)3.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h 指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。 例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78625。 注意:部

5、分源程序在文件 PROG1C 中。请勿改动主函数 mam和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include #include #define N 8 struct slist double s; struct slist *next; ; typedef struct slist STREC; double fun (STREC *h) STREC * creat (double *s) STREC *h,*p,*q; int i=0; h=p= (STREC*) malloc ( sizeof (STREC); ps=0; while (is=si;

6、i+; pnext=q; p=q; pnext=0; return h; outlist(STREC *h) STREC *p; p=hnext; printf ( “head“) ; do printf(“0041f“,p 一s);p=p next;) while(p!=0); printf(“/n/n“); main() double sN= 85,76,69,85,91,72, 64,87),ave; void NONO (); STREC *h; h=creat (s); outlist (h); ave=fun (h); printf (“ave= 63f/n“,ave); NONO

7、); void NONO() /*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in,*out ; int i,j ; double sN,ave; STREC *h; in=fopen (“indat“,“r“); out=fopen (“outdat“,“w“); for(i=0 ; i=0”且“chs=0; while (is=si; i+; pnext=q; p=q; pnext=0; return h; outlist(STREC *h) STREC *p; p=hnext; printf ( “head“) ; do printf(“0041f“

8、p 一s);p=p next;) while(p!=0); printf(“/n/n“); main() double sN= 85,76,69,85,91,72, 64,87),ave; void NONO (); STREC *h; h=creat (s); outlist (h); ave=fun (h); printf (“ave= 63f/n“,ave); NONO(); void NONO() /*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *in,*out ; int i,j ; double sN,ave; STREC *h; in=fope

9、n (“indat“,“r“); out=fopen (“outdat“,“w“); for(i=0 ; inext; /* 由于头结点中没有存放数据* / 2 doubleav=00; /* 对计算成绩平均值的变量进行初始化* / 3 int n=0; 4 while(p!=NULL)/* 判断链表是否结束* / 5 av=av+ps; /* 对成绩进行累加* / 6 p=pnext; /* 到下一个结点位置* / 7 n+; /* 人数加1*1 8 9 av /=n;/* 计算成绩平均值* / 10 return av; /* 返回成绩平均值* /)解析:解析:(1)首先定义存放平均值的变量,并对其初始化。 (2)在循环中,依次取链表中存放的成绩,并对其求和。 (3)最后计算平均值,并返回值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1