二级C上机试题.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《二级C上机试题.pdf》由会员分享,可在线阅读,更多相关《二级C上机试题.pdf(102页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一套 上机考试试题一、程序填空题。给定程序的功能是调用fun函数建立班级通讯录。程序中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。#include#include#define N 5typedef struct(int num;char name10;char tel10;)STYPE;void check();int fun(STYPE*std)FILE*fp;int i;if(fp=fopen(,myfile5.dat,uwebu)=NULL)return(O);printf(nnOutp
2、ut data to file!nu);for(i=0;iN;i+)fwrite(&stdi,sizeof(STYPE),l,fp);fclose(fp);return(l);main()(STYPEs10=l,,aaaaa,lllllln),l,bbbbb,n222222,l,cccccH,”333333”,lJddddd”J444444”,l,eeeee”J555555”;int k;k=fun(s);if(k=l)printf(HSucceed!H);check();elseprintf(nFail!n);void check()FILE*fp;int i;STYPE s10;if(fp
3、=fopen(,myfile5.dat,rbH)=NULL)printf(HFail!n,);exit(O);)printf(HnRead file and output to screenin*);printf(nn num name telnu);for(i=0;iN;i+)fread(&si,sizeof(STYPE),l,fp);printf(n%6d%s%sn,si.num,si.name,si.tel);fclose(fp);二、程序修改题。给定程序MODI1.C中函数的功能是:先将字符串s中的字符按正序存放在t串中,然后把s中的字符按逆序连接到t串的后面。#include#inc
4、ludevoid fun(char*s,char*t)int i,sl;sl=strlen(s);for(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;t2*sl=,0;main()(chars100,t100;printf(HnPlease enter string s:n);scanf(H%sH,s);fun(s,t);printf(nThe result is:%snH,t);三、程序设计题。函数fun的功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中,合并的方式是:将 a 数的十位和个位数依次放在c 数的千位和十位上,b 数
5、的十位和个位数依次放在c 数的百位上和个位上。#includevoid fun(int a,int b,long*c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);main()(int a,b;long c;void NONO();printf(HInput a,b:H);scanf(H%d,%dH,&a,&b);fun(a,b,&c);printf(nThe result is:%dnc);NONO();void NONO()(FILE*rf,*wf;int i,a,b;long c;rf=fopen(,in.dat,nrn);wf=fopen(,ou
6、t.datn,nwn);for(i=0;i10;i+)fscanf(rf J%d,%d”,&a,&b);fun(a,b,&c);fprintf(wf,na=%d,b=%d,c=%ldn H,a,b,c);fclose(rf);fclose(wf);第二套 上机考试试题一、程序填空题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自义函数 ReadText 和 WriteText 实现。#include#include#includevoid WriteText(F
7、ILE*);void ReadText(FILE*);main()(FILE*fp;if(fp=fopen(Hmyfile4.txt,wn)=NULL)printf(open fail!nH);exit(0);WriteText(fp);fclose(fp);if(fp=fopen(Hmyfile4.txt,r,)=NULL)printf(Hopen fail!nn);exit(O);ReadText(fp);fclose(fp);void WriteText(FILE*fw)(char str81;printf(,nEnter string with-1 to end:nH);gets(st
8、r);while(strcmp(str,H-1H)!=0)fputs(str,fw);fputs(nH,fw);gets(str);void ReadText(FILE*fr)char str81;printf(nnRead file and output to screen:nu);fgets(str,81,fr);while(!feof(fr)printf(,%s,str);fgets(str,81,fr);)二、程序修改题给定程序MODILC中函数fun的功能是:从低位开始取出长整型变量s 中奇数位上的数,依次构成一个新数放在t 中.高位仍在高位,低仍在低位.#includevoid f
9、un(long s,long*t)(long sl=10;*t=s%10;while(s0)(s=s/100;*t=s%10*sl+*t;sl=sl*10;main()(long s,t;printf(*nplease enter s:n);scanf(H%ldH,&s);fun(s,&t);printf(*The result is:%ldn*,t);三、程序设计题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的个位和百位上,b数的十和个位数依次放在c数的千位和十位上。#includevoid fun(int a,int
10、b,long*c)|*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);)main()int a,b;long c;void NONO();printf(nInput a,bn);scanf(n%d,%dM,&a,&b);fun(a,b,&c);printf(nThe result is:%ldnu,c);NONO();void NONO();|FILE*rf,*wf;int i,a,b;long c;rf=fopen(uin.datn,rn);wf=fopen(nout.datn,nwH);for(i=0;i10;i+)fscanf(rf,u%d,%du,&
11、a,&b);fun(a,b,&c);fprintf(wf,na=%d,b=%d,c=%ldnn,a,b,c);)fclose(rf);fclose(wf);第三套上机考试试题一、程序设计题给定程序中,函数fun的功能是:将自然数码相机110以及它们的平方根写到名为myfile3.txt的文本中,然后再顺序读出显示在屏幕上。#include#includeint fun(char*fname)FILE*fp;int i,n;float x;if(fp=fopen(fname,Hwn)=NULL)return 0;for(i=l;i=10;i+)fprintf(fp,n%d%fnH,i,sqrt(
12、double)i);printf(nSucceed!n);fclose(fp);printf(nThe data in file:nn);if(fp=fopen(fname,ru)=NULL)return 0;fscanf(fp,n%d%fH,&n,&x);while(!feof(fp)printf(u%d%fn,n,x);fscanf(fp,u%d%fH,&n,&x);fclose(fp);return 1;main()(char fname=nmyfile3.txtn;fun(fname);二、程序修改题给定程序MODIlo C 中fun的函数的功能是:将 n 个无序整数从小到大排序。#i
13、nclude#includefun(int n,int*a)(intfor(j=0;jn-l;j+)P=i;for(j=j+l;in;i+)if(p!=j)t=aj;aj=ap;ap=t;putarr(int n,int*z)(int i;for(i=l;i=n;i+,z+)printf(H%4d,*z);if(!(i%10)printf(HnH);printf(nnH);main()(int aa20=9,3,0,4,l,2,5,6,8,10,7),n=ll;printf(,nnBefore sorting%d number:n,n);putarr(n,aa);printf(HnAfter
14、sorting%d numbers:n,n);putarr(n,aa);三、程序设计题函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。#includevoid fun(int a,int b,long*c)(*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;main()int a,int b;long c;void NONO();printf(Input a,b:H);scanf(n%d,%dH,&a,&b);fun(a,b,&c);
15、printf(nThe result is:%ldnH,c);NONO();void NONOQFILE*rf,*wf;int i,a,b;long c;rf=fopen(,in.dat,rn);wf=fopen(nout.datn,nwn);for(i=0;i10;i+)fscanf(rf,u%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ldn,a,b,c);fclose(rf);fclose(wf);第四套 上机考试试题一、程序填空题给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败
16、时返回值为 0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。#include#includeint fun(char*source,char*target)FILE*fs,*ft;char ch;if(fs=fopen(source,nr)=NULL)return 0;if(fs=fopen(tar get,*w*)=NULL)return 0;printf(*nThe data in file:nH);ch=fgetc(fs);while(!feof(fs)putchar(ch);fputc(ch,ft);ch=fge
17、tc(fs);fclose(fs);fclose(ft);printf(*nn);return 1;main()char sfnam e20=nm yfileln,tfnam e20=Hm yfileu;FILE*myf;int i;char c;m yf=fopen(sfnam e,wH);printf(*nThe original data:n);for(i=l;i30;i+)c=,A,+rand()%25;fprintf(myf,n%cn,c);printf(,%cH,c);fclose(myf);printf(*nn);if(fun(sfname,tfname)printf(HSucc
18、eed!);else printf(,Fail!H);二、程序修改题给定程序MODIlo C 中函数fun的功能是:将长整型数s 中每一位上为偶数的数依次取出,构成一个新数放在t 中。高位仍在高位,低位仍在低位。例如:当s 中的数为:87653142时,t 中的数为:8642。#includevoid fun(long s,long*t)(int d;long sl=l;*t=0;while(s0)d=s%10;if(d%2=0)*t=d*sl+*t;sl*=10;s/10=10;)main()(long s,t;printf(HnPlease enter s:n);scanf(u%ldH,&
19、s);fun(s,&t);printf(nThe result is:%ldnH,t);)三、程序设计题函数fun的功能是:将两个两位数的正整数a,b 合并形成一个整数放在c 中。合并的方式是:将a数的十位和个位依次放在c数十位和千位上,b 数的十位和个位数依次放在c 数的百位和个位上。#includevoid fun(int a,int b,long*c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);main()(int a,b;long c;void NONO();printf(nInput a,b:n);scanf(n%d,%dH,&a,&b);f
20、un(a,b,&c);printf(nThe result is:%ldn*,c);NONO();)void NONO()(FILEint i,a,b;long c;rf=fopen(nint.dat,ru);wf=fopen(nout.dat,nwH);for(i=0;i10;i+)fscanf(rf,u%d,%d,&a,&b);fun(a,b,&c);fprintf(wf,a=%d,b=%d,c=%ldn,a,b,c);fclose(rf);fclose(wf);第五套上机考试试一、程序设计题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据递增有序链接。函数fun的功能是
21、:把形参x的值放入一个新结点并插入到链表中,插入后数据域的值仍保持递增有序。#include#include#define N 8typedef struct list(int data;struct list*next;JSLIST;void fun(SLIST*h,int x)SLIST*p,*q,*s;s=(SLIST*)malloc(sizeof(SLIST);s-data=x;q=h;p=h-next;while(p!=NULL&xp-data)q=p;p=p-next;)s-next=p;q-next=s;SLIST*creatlist(int*a)(SLIST*h,*p,*q;i
22、nt i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i=0;idata=ai;p-next=q;p=q;p-next=O;return h;void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(HnThe list is NULL!nH);elseprintf(nHead);doprintf(H-%dn,p-data);p=p-next;while(p!=NULL);printf(,-Endn);main()(SLIST*head;int x;intaN=ll,12,15,18,19,22,25,29);h
23、ead=creatlist(a);printf(HnThe list before inserting:n);outlist(head);printf(,nEnter a number:*);scanf(*%dH,&x);fun(head,x);printf(nnThe list after inserting:nH);outlist(head);二、程序修改题给定程序MODIlo C 中函数fun的功能是:计算正整数fun的各位上的数字之和。#includelong fun(long num)(long k=l;do(k*=num%10;num/=10;while(num);return(k
24、);main()(long n;printf(nnPlease enter a number:11);scanf(H%ldH,&n);printf(nn%ldnn,fun(n);三、程序设计题请编写一个函数fu n,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如:90o 5,72,80,61 o 5,55值为:71。80#includefloat fun(float*a,int n)(float ave=0.0;int i;for(i=0;in;i+)ave=ave+ai;ave=ave/n;return ave;main()float score30=90.5,72,80,6
25、1.5,55),ave;void NONO();ave=fun(score,5);prmtf(HnAverage score is:%5.2fnn,ave);NONO();void NONO();(FLIE*fpm,*wf;int ij;float ave,score5;fp=fopen(,in.dat,ru);wf=fopen(nout.datn,Hwn);for(i=0;i10;i+)for(j=0;j5;j+)fscanf(fp,u%f,n,&scorej);ave=fun(score,5);fprintf(wf,n%5.2fn,ave);fclose(fp);fclose(wf);第六
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 上机 试题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内