欢迎来到天天文库
浏览记录
ID:11816903
大小:29.00 KB
页数:5页
时间:2018-07-14
《二级C语言机试模拟4.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、二级C语言机试模拟2141、填空题请补充main()函数,该函数的功能是:把文本文件text2中的内容追加到文本文件text1的内容之后。 例如,文件text2的内容为“I'mveryhappy!”,文件text1的内容为“I'magirl,”,追加之后文件text1的内容为“I'magirl,I'mveryhappy”。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在函数main的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdlib.h> #includ
2、e<stdio.h> #include<conio.h> #defineM80 voidmain() { FILE*fp,*fp1,*fp2; inti; charc[M],ch; system("CLS"); if((fp={open("text1.dat","r"))==NULL) { printf("filetext1cannotbeopened"); exit(0); } printf("text1contentsare:"); for(i=0;(ch=fgetc(fp)
3、)!=EOF;i++) { c[i]=ch; putchar(c[i]); } {close(fp); if((fp=fopen("text2.dat"."r"))==NULL) { printf("filetext2cannotbeopened"); exit(0); } printf("Bcontentsare:"); for(i=0;(ch=fgetc(fp))!=EOF;i++) { c[i]=ch; putchar(c[i]); } {close(fp);
4、 if((fp1=fopen("text1.dat","a")) (1) (fp2=fopen("text2.dat","r"))) { while((ch=fgetc(fp2))!=EOF) (2) ; } else { printf("Cannotopentextltext2! "); } {close(fp2); fclose(fp1); printf("***newtext1contents***"); if((fp=fopen("text1.dat","r"))==NULL
5、) { printf("filetext1cannotbeopened"); exit(0); } for(i=0;(oh=fgetc(fp))!=EOF;i++) { c[i]=ch; putchar(c[i]); } (3) ; }2、改错题1、下列给定程序中,函数proe()的功能是:利用插入排序法对字符串中的字符按从大到小的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;再把第4个字符插入前3个字符中,待排序的
6、字符串已在主函数中赋予。例如原始字符串为“goodluck”,则排序后的字符串为“uoolkgdc”。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<string.h> #include<stdio.h> #defineM80 voidproc(char*aa) { inti,j,n;charch; n=strlen(aa); for(i=1;i<n:i++) { ch=aa[i]; j=i-1:
7、//************found************* while((j>=0)
8、
9、(ch>aa[j])) { aa[j+1]=aa[j]; j--; } //************found************* aa[j]=ch; } } voidmain() { charstr[M]="goodluck": printf("Theoriginalstring:%s",str); proc(str); printf("Thestringaftersorting:%s
10、n",str); }3、编程题1、假定输入的字符串中只包含字母和*号。请编写函数proc(),它的功能是:使字符串中前部的*号不得多于m个;若多于m个,则删除多余的*号;若少于或等于m个,则什么也不做,字符串中间和尾部的*号不删除。 例如,字符串中的内容为****A*BC*DEF*G*
此文档下载收益归作者所有