计算机等级考试-二级C语言上机考试题库及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11.填空给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!voidcheck();/**********found**********/intfun(___1___*std){/**********found**********/___2___*fp;inti;if((fp=fopen(myfile5.dat,wb))==NULL)return(0);printf(\nOutputdatatofile!\n);for(i=0;iN;i++)/**********found**********/fwrite(&std[i],sizeof(STYPE),1,___3___);fclose(fp);return(1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。请改正程序中的错误,使他能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!voidfun(char*s,char*t){inti,sl;sl=strlen(s);/************found************/for(i=0;i=s1;i++)t[i]=s[i];for(i=0;isl;i++)t[sl+i]=s[sl-i-1];/************found************/t[sl]='\0';}2程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=4152.注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。答案:B:STYPEFILEfpM:for(i=0;isl;i++)t[2*sl]=0;P:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2.填空给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!main(){FILE*fp;if((fp=fopen(myfile4.txt,w))==NULL){printf(openfail!!\n);exit(0);}WriteText(fp);fclose(fp);if((fp=fopen(myfile4.txt,r))==NULL){printf(openfail!!\n);exit(0);}ReadText(fp);fclose(fp);}/**********found**********/voidWriteText(FILE___1___){charstr[81];printf(\nEnterstringwith-1toend:\n);gets(str);while(strcmp(str,-1)!=0){/**********found**********/fputs(___2___,fw);fputs(\n,fw);gets(str);3}}voidReadText(FILE*fr){charstr[81];printf(\nReadfileandoutputtoscreen:\n);fgets(str,81,fr);while(!feof(fr)){/**********found**********/printf(%s,___3___);fgets(str,81,fr);}}修改给定程序MODI1.c中函数fun的功能是:从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。例如:当s中的数为:7654321时,t中的数为:7531请改正程序中的错误,使他能得出正确的结果。注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!#includestdio.h/************found************/voidfun(longs,longt){longsl=10;*t=s%10;while(s0){s=s/100;*t=s%10*sl+*t;/************found************/sl=sl*100;}}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=1524.注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。42、B:*fwstrstrM:long*tsl=sl*10;P:*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3.填空给定程序中,函数fun的功能是:将自然数1~10以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!intfun(char*fname){FILE*fp;inti,n;floatx;if((fp=fopen(fname,w))==NULL)return0;for(i=1;i=10;i++)/**********found**********/fprintf(___1___,%d%f\n,i,sqrt((double)i));printf(\nSucceed!!\n);/**********found**********/___2___;printf(\nThedatainfile:\n);/**********found**********/if((fp=fopen(___3___,r))==NULL)return0;fscanf(fp,%d%f,&n,&x);while(!feof(fp)){printf(%d%f\n,n,x);fscanf(fp,%d%f,&n,&x);}fclose(fp);return1;}修改给定程序MODI1.c中fun函数的功能是:将n个无序整数从小到大排序。fun(intn,int*a){inti,j,p,t;for(j=0;jn-1;j++){p=j;/************found************/for(i=j+1;in-1;i++)if(a[p]a[i])/************found************/t=i;if(p!=j){t=a[j];a[j]=a[p];a[p]=t;}}}5程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=2514注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。3、B:fpfclose(fp)fnameM:inp=iP:*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);4.填空给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0,在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中intfun(char*source,char*target){FILE*fs,*ft;charch;/**********found**********/if((fs=fopen(source,___1___))==NULL)return0;if((ft=fopen(target,w))==NULL)return0;printf(\nThedatainfile:\n);ch=fgetc(fs);/**********found**********/while(!feof(___2___)){putchar(ch);/**********found**********/fputc(ch,___3___);ch=fgetc(fs);}fclose(fs);fclose(ft);printf(\n\n);return1;}修改给定程序MODI1.C中函数fun的功能是:将长整形数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为:87653142时,t中的数为:86426voidfun(longs,long*t){intd;longsl=1;*t=0;while(s0){d=s%10;/************found************/if(d%2=0){*t=d*sl+*t;sl*=10;}/************found************/s\=10;}}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=5142注意:部分源程序存在文件PROG1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。4、B:“r”fsftM:(d%2==0)s/=10;P:*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);5.填空给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。typedefstructlist{intdata;structlist*next;}SLIST;voidfun(SLIST*h,intx){SLIST*p,*q,*s;s=(SLIST*)malloc(sizeof(SLIST));/**********found**********/s-data=___1___;q=h;p=h-next;while(p!=NULL&&xp-data){/**********found**********/q=___2___;7p=p-next;}s-next=p;/**********found**********/q-next=___3___;}修改给定程序MODI1.C中函数fun的功能是:计算正整数

1 / 71
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功