计算机二级上机考试100套题答案.pdf
《计算机二级上机考试100套题答案.pdf》由会员分享,可在线阅读,更多相关《计算机二级上机考试100套题答案.pdf(87页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1(1)给定程序的功能是调用f un函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为iyige数据块写到名为myf ile5.dat的二进制文件中。/*f ound*7int f un(STYPE*std)/*f ound*/FILE*f p;int i;if(f p=f open(myf ile5.dat/,wb,)=NULL)return(O);printf(nOutput data to f ile!n);f or(i=0;iN;i+)/*f ound*7f write(&stdi,sizeof(STYPE),1,f p)
2、;f close(f p);return(1);1(2)给定程序M0DI1.C中函数f un的功能是:先将在字符串s 中的字符按正序存放在t 串中,然后把s 中的字符按逆序链接到t 串的后面。例如:当 s 中的字符串为:“ABCDE”时,则 t 串中的字符串应为:ABCDEEDCBA”/*f oun(j*/f or(i=0;i=si;i+)ti=si;f or(i=0;i 0)s=s/100;*t=s%10*sl+*t;/*f ound*/si=sl*10;2(3)函数f un的功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。合并的方式是:将 a 数的十位和个位数依次放在c 数
3、的个位和百位h,b 数的十位和个位数依次放在c 数的千位和十位上。例如,当 a=45,b=12时,调用该函数后,c=1524.void f un(int a,int b,long*c)*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);)3(1)给定程序中,函数f un的功能是:将自然数110以及它们的平方根写到名为myf ile3.txt的文本文件中,然后再顺序读出显示在屏幕上。/*Q|Jp|*/f printf(f p,%d%f n,i,sqrt(double)i);printf(nSucceed!1 n);/*f ound*/f close(f p);p
4、rintf(nThe data in f ile:n);/*f ound*/if(f p=f open(f name/r)=NULL)return 0;f scanf(f p/,%d%f,&n,&x);while(!f eof(f p)printf(%d%f n,n,x);f scanf(f p,%d%f/&n/&x);f close(f p);return 1;)3(2)给定程序M0DI1.C中 f un函数的功能是:将 n 个无序整数从小到大排序。/*f ound*/f or(i=j+l;iai)/*f ound*/P=i;if (p!=j)t=aj;aj=ap;ap=t;)putarr(
5、int n,int*z)int i;f or(i=1;i data=x;q=h;p=h-next;while(p!=NULL&xp-data)/*f ound*Iq=p;p=p-next;)s-next=p;/*f ound*/q-next=s;)SLIST*creatlist(int*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);f or(i=0;idata=ai;p-next=q;p=q;)p-next=0;return h;5(2)给定程序MODI1.C中函数f un的功能是:计算正整数num的各位上的数字之积。例如,若 输
6、 入:2 5 2,则输出应该是:20.若输 入:2 0 2,则输出应该是:0./*f ound*/long k=l;do k*=num%10;/*f ound*/num/=10;while(num);return(k);5(3)请编写一个函数f u n,它的功能是:计算n 门课程的平均分,计算结果作为函数值返回。例如:若有5 门课程的成绩是:90.5,72,80,61.5,55则函数的值为:71.80.f loat f un(f loat*a,int n)(int i;f loat ave=0.0;f or(i=0;idata);s-next=NULL;/*f ound*/f ree(t);6
7、(2)给定程序M0DI1.C中函数f un的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。例如,若字符串为abed,则应输出:debao请改正程序中的错误,使它能得出正确的结果。/*f ound*/void f un(char*a)if(*a)f un(a+l);/*f ound*7printf Cc;*a);)6(3)请编写一个函数f u n,它的功能是:比较两个字符串的长度,(不得调用C 语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回会第一个字符串。例如,A beijingshanghai(为回车键),函数将返回shanghaiochar*
8、f un(char*s,char*t)(int i;char*p=s,*q=t;int n=0,m=0;while(*p)n+;p+;while(*q)m+;q+;if(n=m)P=s;else p=t;return p;7(1)给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数f un的功能是:删除链表中数据域值相同的结点,使之只保留一个。/*f ound*/f ree(q);/*f ound*/q=p-next;)elsep=q;/*f ound*/q=q-next;)7(2)给定程序M0DI1.C中函数f un的功能是:用选择法对数组中的n 个元素按从小到
9、大的顺序进行排序。y*-Q|jp|*/P=j;f or(i=j;i n;i+)if(ai ap)/*Q g p|*Ip=i;t=ap;ap=aj;aj=t;)7(3)请编写一个函数f u n,它的功能是:求 出1 到 m 之 间(含 m)能被7 或 11整除的所有整数放在数组a 中,通 过 n 返回这些数的个数。例如,若传送给m 的值为5 0,则程序输出:7 11 14 21 22 28 33 35 42 44 49void f un(int m,int*a,int*n)int i,j=O;*n=O;f or(i=l;idata=ch)return n;else p=p-next;)retur
10、n 0;)main()SLIST*head;int k;char ch;char alNlm/p/gZaVwVx/rVd;head=creatlist(a);outlist(head);printf(Enter a letter:);scanf(”%c”,&ch);/*f ound*7k=f un(head,ch);if (k=0)printf(nNot f ound!n);else printf f The sequence number is:%dn,k);8(2)给定程序MODI1.C中函数f un的功能是:删 除 p 所指字符串中的所有空白字符(包括制表符、回车符及换行符)。输入字符串
11、是用#结束输入。/*f ound*/f or(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi;/*f ound*/ct=0;strcpy(p,c);)8(3)请编写一个函数f u n,它的功能是:将 ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入“abc4EFg ,则应输出“aBc4EFgvoid f un(char*ss)int i;f or(i=1;i=a&ssi next;while(p)(*n)+;/*f ound*I*Ip=p-next;)main()SLIST*head;int aN=12/87,45
12、/32/91/16/20/48/num;head=creatlist(a);outlist(head);/*f ound*7f unf head,&num);printf(nnumber=%dn,num);9(2)给定程序M0DI1.C中函数f un的功能是:求出s 所指字符串中最后一次出现的t 所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为:abcdabf abcdx”,t 中的内容为“ab”时,输出结果应是:abcdx,当字符串中的内容为:abcdabf abcdx”,t 中的内容为“abd”时,则程序输出未找
13、到信息:not be/*f ound*/a=NULL;while(*s)P=s;r=t;while(*r)/*o u n c|*7if (*r=*p)r+;p+;else break;if (*r=0)a=s;s+;)return a;9(3)函数f un的功能是:将 s 所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余的全部删除;串中剩余字符所形成的一个新串放在t 所指的数组中。例如,若 s 所指字符串中的内容为:“ABCDEFG123456,其中字符A 的 ASCII码值为奇数,因此应当删除;其中字符B 的 ASDII码值为偶数,所在数组中的下标为奇数,因此也应当删除;二
14、字符2 的 ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它依此类推。最后t 所指的数组中的内容应是:“246”。void f un(char*s,char t)(int i,j=0;f or(i=0;i data;/*f ound*/p=p-next;return s;)main()SLIST*head;int aN=12,87z45,32,91,16,20,48;head=creatlist(a);outlist(head);/*f ound*/printf(nsum=%dn,f un(head);)10(2)给定程序MODI1.C中函数f un的功能是:将 s 所指字
15、符串中出现的与t l 所指字符串相同的子串全部替换成t2 所指字符串,所形成的新串放在w 所指的数组中。在此处,要求t l 利 t2所指字符串的长度相同。例如,当 s 所指字符串中的内容为:“abcdabf ab t l 所指子串中的内容为:“ab”,t2 所指子串中的内容为“99”时,结果在w 所指的数组中的内容应为:“99cd99f 99”。/*f ound*/while(*r)if (*r=*p)r+;p+;else break;if(*r=0)a=w;r=t2;while(*r)/*f ound*/*a=*r;a+;r+;)w+=strlen(t2);else w+;1 0(3)函数f
16、 un的功能是:将 s 所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在他所指数组中。例如,当 S 所指字符串中的内容为:“ABCDEFGHIJK”,在 t 所指数组中的内容应是:“BDFHJ”.void f un(char*s,char t)int i,j=0;f or(i=1;i strlen(s);i+=2)tj+=si;皿=,10)1 1(1)人员的记录由编号和出生年、月、日组成,N 名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数f un的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中的编号为空串。/*f oun
17、d*/STU f un(STU*std,char*num)mt i;STU a=,9999,99,99;f or(i=0;iN;i+)/*Qgp|*/if(strcmp(stdi.num/num)=O)/*f ound*/return(stdi);return a;1 1(2)给定程序MODll.C中函数f un的功能是:从 s 所指字符串中,找出与t 所指字符串相同的子串的个数作为函数值返回。例如,当 s 所指字符串中的内容为:“abcdabf ab,t 所指字符串的内容为:“ab”,则函数返回整数3./*f ound*Ir+;P+;)else break;/*f ound*/if (*r=
18、3)n+;s+;)return n;)1 1(3)函数f un的功能是:将 s 所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t 所指的数组中。例如,若 s 所指字符串中的内容为:“ABCDEFG12345,其中字符B 的 ASCII码值为偶数、字 符 2 的 ASCII码值为偶数、都应当删除,其它依此类推。最后t 所指的数组中的内容应是:“ACEG135”。void f unf char*s,char t)int i,j=0;f or(i=0;i strlen(s);i+)if(si%2)tj+l=si;tj=0;12(1)人员的记录由编号和出生年、月、日组成,N 名
19、人员的数据已在主函数中存入结构体数组std中。函数f un的功能是:找出指定出生年份的人员,指定条件的人数。/*f ound*/if(stdi.year=year)/*f ound*/kn+=stdi;/*f ound*/return(n);)12(2)给定程序M0DI1.C的功能是:子).例如,若输入正数:2 3 1 0,则应输出:#include/*f ound*/IsPrime(int n)将其数据放在形参k 所指的数组中,山主函数输出,同时山函数值返回满足读入一个整数k(2W kW 10000),打印它的所有质因子(即所有为素数的因2、3、5、7、11.intm;m=1;f or(i=
20、2;i n;i+)/*f oundif (!(n%i)m=0;return(m);*Ibreak;12(3)已知学生的记录由学号和学习成绩构成,N 名学生的数据已存入结构体数组a 中。请编写函数f u n,函数的功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。typedef struct ss char num10;int s;STU;f un(STU a,STU*s)int i,max=aO.s,j=0;f or(i=1;i N;i+)if(max ai.s)max=ai.s;*s=aj;)13(1)给定程序通过定义并赋初值的方式
21、,利用结构体变量存储了一名学生的学号、姓名和3 门课的成绩。函数f un的功能是将该学生的各科成绩都乘以一个系数a。/*f ound*/void modif y(STU*ss,f loat a)int i;f or(i=0;iscorei*=a;)/*f ound*/modif y(&std,a);printf(HnA result of modif ying:n);show(std);)13(2)给定程序M ODll.C中函数f un的功能是:求 k!(k0)return(k*f un(k-l);/*f ound*/else if (k=0)return IL;)13(3)程序定义了 N*N
22、的二维数组,并在主函数中自动赋值。请编写函f un(int aN,int n),函数的功能是:使数组左下三角元素中的值乘以n。例如:若 n 的值为3,a 数组中的值为a=则返回主程序后a 数组中的值应为int f un(int aN,int n)int i,j;f or(i=0;i N;i+)f or(j=0;j stdl.num)temp=std0;stdO=stdl;stdl=temp;if(std0.numstd2.num)temp=std0;std0=std2;std2=temp;if(stdl.numstd2.num)temp=stdl;stdl=std2;std2=temp;)/*
23、f ound*/f un(std);printf(nThe result is:n);f or(i=0;i3;i+)printf(%d,%sn,stdi,num,stdi.name);14(2)给定程序MODI1.C中函数f u n 的功能是:将 m(lW m W lO)个字符串连接起来,组成一个新串,放 入 pt所指存储区中。例如:把 3 个 串“abc”,“CD”,“EF”连接起来,结果是“abcCDEF/*f ound*/int k,q,i;f or(k=0;k m;k+)q=strlen(str k);f or(i=0;iq;i+)/*f ound*/pti=strki;pt+=q;p
24、tO=0;)14(3)程序定义了 N*N的二维数组,并在主函数中自动赋值。请编写函数f un(in taN Lin tn),函数的功能是:使数组左下三角元素中的值全部置成0。例如:a=a 数组中的值为:则返回主程序后a 数组中的值应为int f un(int aN)int i,j;f or(i=0;i N;i+)f or(j=0;j=i;j+)aij=0;15(1)给定程序中,函 数 f u n 的功能是:将 形 参 std所指结构体数组中年龄最大者的数据最为函数值返回,并在main函数中输出。/*f ound*/max=*std;f or(i=l;in;i+)/*f ound*/if(max
25、.agestdi.age)max=stdi;return max;/*f ound*/printf(nName:%s,Age:%dn,max.name,max.age);)15(2)给定程序M0DI1.C中函数f un的功能是:实现两个整数的交换。例如给a 和 b 分别输入:60和 6 5,输出为:a=65 b=60ttinclude/*f ound*/void f un(int*a,int*b)int t;/*f ound*/t=*b;*b=*a;*a=t;15(3)请编一个函数void f un(int ttMN,int ppN),tt指向个M 行 N 列的二维数组,求出二维数组每列中最小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 上机 考试 100 答案
限制150内