1、国家二级 C 语言机试(操作题)模拟试卷 336(无答案)一、程序填空题1 给定程序的功能是:从键盘输入若干行文本(每行不超过 80 个字符),写到文件 myfile4 txt 中,用1 作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数 ReadText 和 WriteText 实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1C 中。不得增行或删行,也不得更改程序的结构!#include #include #include void WriteText (FILE *) ;void
2、ReadText (FILE *) ;main ()FILE *fp;if (fp=fopen ( “myfile4 txt“ ,“w“)=NULL) printf(“ open fail! !n“);exit (0) ; WriteText (fp) ;fclose ( fp) ;if (fp=fopen ( “myfile4 txt“ ,printf (“ open fail ! ! n“) ; exit (0) ; ReadText ( fp) :fclose ( fp) ;void WriteText(FILE _1_) char strl81l;printf(“nEnter stri
3、ng with 1to end :n“);gets (str) ;while (strcmp (str,“ 1“) ! =0) fputs (_2_,fw) ;fputs (“n“,fw) ;gets (str) ; voicl ReadText (FILE *fr) char str 81 ;printf(“nRead file and outputto screen :n“) ;fgets (str,81,fr) ;while ( ! feof (fr) printf(“s“,_3_ );fgets (str,81,fr) ;二、程序修改题2 给定程序 MODI1C 中函数 fun 的功能
4、是:从低位开始取出长整型变量 s 中奇数位上的数,依次构成一个新数放在 t 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:7654321 时,t 中的数为:7531。请改正程序中的错误,使它能得出正确的结果。注意:不要改动 mam 函数,不得增行或删行,也不得更改程序的结构!#include void fun (long s long t) long s1=10;*t= s 10;while (s 0) s= s/100;*t= s10 * s1 + *t;s1= s1*100;main () long s,t;printf(“nPlease enter s:“) fscanf (“
5、1d“,&S) ;printf (“The result is: ldn“,t) ;三、程序设计题3 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s中,请编写函数 fun,它的功能是:把分数最低的学生数据放在 b 所指的数组中。注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。注意:部分源程序在文件 PROG1C 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。#include #define N 16typedef struct char num 10 ;int s; STREC;int f
6、un(STREC *a,STREC *b)main ()STREC s N = “GA05“,85 , “GA03“,76, “GA02“,69, “GA04“,85 , “GA01“,91 , “GA07“,72 , “GA08“,64 , “GA06rr,87 , “GA015“,85, “GA013“,91 , “GA012“,64 , “GA014“,91 , “GA011“,91 , “GA017“,64 ,“GA018“,64,“GA016“,72;STREC h N ;int i,n;FILE ;*out ;n=fun (s,h) ;printf (“The d lowest score: n“ ,n) ;printf “s 4dn“,h i num,h i s) ;out=fopen (“outdat“,“w“) ;fprintf (out, “dn“ ,n) ;fprintf (out, “4dn“,hi s) ;fclose (out) ;
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1