二级上机考试题库答案.pdf





《二级上机考试题库答案.pdf》由会员分享,可在线阅读,更多相关《二级上机考试题库答案.pdf(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一套(一)程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数 fu n 的功能是:将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。(1)struct student(2)n-1 3 ai.name,aj.name()给定程序M0DI1.C中函数fun的功能是:在 p 所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。1 q=p+i;2 while(qp)(三)学生的记录由学号和成绩组成,N 名学生的数据J 在主函数中放入结构体数组s 中
2、,请编写了函数fu n,它的功能是:把指定分数范围内的学生数据放在b 所指的数组中,分数范围内的学生人数由函数值返回。int i,j=0;for(i=0;i=l&ai.s=h)bj+=ai;return j;第二套(-)给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。1 q 2 next 3 next(-)给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n 各元素按从小到大的顺序进行排序。1 P=j;2 p=i;(三)请编写一个fun函数,它的功能是:求 出 1 到 m 之 间(含 m
3、)能被7 或 11整除的所有整数放在数组a 中,通 过 n 返回这些数的个数。inti;*n=0;for(i=7;i=m;i+)if(i%7=0)|(i%ll=0)a(*n)+=i;第三套(-)函数fun的功能是:逆置数组元素是的值。例如:若 a 所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1 形参n 给出数组中数组中数据的个数。1 n/2 2 i 3 an-i-l(二)给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5 位八进制数字字符。
4、1 n=*p-O;2 n=n*8+*p-O;(三)学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fu n,它的功能是:函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。STR EC c;int i;c.numO=*O;c.s=-l;for(i=0;iN;i+)if(strcmp(ai.num,b)=O)strcpy(c.num,ai.num);c.s=ai.s;break;return c;第四套(-)给定程序中,函数fu n
5、的功能是:在带有头结点的单向链表中,查找数据域中值为ch 的结点。找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch 的结点,函数值返回0.1 NULL 2 n 3 head,ch(-)给定程序MODI1.C中函数fu n 的功能是:删 除 p 所指字符串的所有空白字符(包括制表符、回车符及换行符)。输 入 字 符 串 时 用 结 束 输 入。1.for(i=0,t=0;pi;i+)2.ct=O;(三)请编写一个函数fu n,它的功能是:将 ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。int i;for(i=l;i=,a&ssi=eps)
6、sl=sl*n/(2*n+l);s=s+sl;n+;return 2*s;第六套1.给定程序中,函数fun的功能是:将形参s 所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。1 si 2 k 3 02.给定程序MODI1.C中函数fun的功能是:将s 所指字符串中最后一次出现的与t l 所指字符串相同的子串替换成t2 所指定字符串,所形成的新串放在w 所指的数组中。在此处,要求 t l 和 t2 所指字符串的长度相同。1 while(*w)2 if(*r=*p)3.函数fun的功能是:将 s 所指字符串中ASCH值为奇数的字符删除,串中剩余字符形成一
7、个新串放在t 所指定的数组中。int i,j=O;for(i=0;iscorei 3 a2.给定程序M0DI1.C中函数fun的功能是:从 N 个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。1 char*fun(char(*sq)M)2 return sp;3.函数fun的功能是:将 a、b 中的两位正整数合并形成一个新的整数放在c 中。合并的方式是:将 a 中的十位和个位依次放在变量c 的百位和个位上,b 中的十位和个位数依次放在变量 c 的十位和千位上。*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;
8、第八套1.函数fun的功能是:将形参a 所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n 中存放数组中数据的个数,若 n 为奇数,则中间元素不动。1 1 2 i 3 ap+i2.给定程序MODI1.C中函数fun的功能是:把主函数中输入的三个数,最大的放在a 中,最小的放在c 中,中间的放在b 中。1 float k;2 if(*a*c)3.学生的记录山学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fu n,它的功能是:把分数最高的学生数据放在b 所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。int i,max=a0
9、.s,n=0;for(i=l;iN;i+)if(maxai.s)max=ai.s;for(i=0;iN;i+)if(max=ai.s)bn+=ai;return n;第九套1.给定程序中,函数fun的功能是:计算形参x 所指数组中N 个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。1 xi/N 2 j+3 i+2.给定程序M0DI1.C中函数fun的功能是:统计字符串各元音字母(即:A、E、I、0、U)的个数。注意字母不分大小写。1 numk=O;2 switch(
10、*s)3.请编写函数fu n,函数的功能是:求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。int tot=Ozij;for(i=0;iN;i+)tot+=a0i;tot+=aM-li;for(i=l;iM-l;i+)tot+=aiO;tot+=aiN-l;)return tot;第十套1 程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a 中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。1 struct student 2 a.name 3 a.scorei2 假定整数数列中的数不重复,并存放在数组中。给定程序M
11、0DI1.C中函数fun的功能是:删除数列中值为x 的元素。N 中存放的是数列中元素的个数。1 if(p=n)return-1;2 ai=ai+l;3.学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fu n,它的功能是:把分数最低的学生数据放在b 所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。int i,j=0,min=a0.s;for(i=0;iai.s)j=0;bj+=ai;min=ai.s;else if(min=ai.s)bj+=ai;return j;第1“一套1.给定程序中,函数fun的功能是:计算形参x
12、所指数组中N 个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。1 s/N 2 j+3-12.给定程序M0DI1.C中函数fun的功能是:读入一行英文文本行,将其中每个单词的第一个字母改成大写,然后输出次文本行(这里的“单词”是指由空格隔开的字符串)。1#include 2 void upfst(char*p)3.程序定义了 N X N 的二级数组,并在主函数中赋值,请编写函数fu n,函数的功能是:求出数组周边元素的平均值并作出函数值饭给主函数中的s。int i,j
13、,n=0;double sum=0;for(i=0;iN;i+)sum+=wOi+wN-li;n+=2;for(i=l;iN-l;i+)sum+=wiO+wiN-l;n+=2;)return sum/n;第十二套1.给定程序中,函数fun的功能是:将自然数1 10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。1 fp 2 fdose(fp)3 fname2.给定程序M0DI1.C中函数fun的功能是:将 n 个无序整数从小到大排序。1 for(i=j+l;in;i+)2 p=i;3.函数fun的功能是:将 a、b 中的两位正整数合并形成一个新的整数放在
14、c 中。合并的方式是:将 a 中的十位和个位依次放在变量c 的个位和百位上,b 中的十位和个位数依次放在变量c 的十位和千位上。*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第十三套1.给定程序中,函数fun的功能是:找 出 N X N 矩阵中每列元素中的最大值,并按顺序一次存放于形参b 所指的一维数组中。1 a0i 2 3 x,y2.给定程序MODI1.C中函数fun的功能是:交换主函数中的两个变量的值。1 void fun(int*x,int*y)2 t=*x;*x=*y;*y=t;3.编写函数fu n,函数的功能是:求出小于或等于lim 的所有素数
15、并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。int i,j,k=O;for(i=2;i=lim;i+)for(j=2;j=i)aak+=i;)return k;第十四套1.函 数 fu n 的功能是进行字母转换。若形参c h 中小写英文字母,则转换成相应的大写英文字母;若形参ch 中是大写英文字母,则转换成相应的小写英文字母;并将转换的结果作为函数值返回。1&2 A 3 ch2.给定程序MODI1.C中函数fun的功能是:给一维数组a 输入任意四个整数并按下列的规律输出。例如输出1、2 3、4,程序输出一下方阵。1 void fun(int*a)2 aj=aj
16、-l;3.请编写函数fu n,函数的功能是:计算并输出给定整数n 的所有因子(不包过1 和 n 本身)之 和。规 定 n 的值不大于1000.int s=0,i;for(i=2;in;i+)if(n%i=O)s+=i;return s;第十五套1.程序填空给定程序中,函数的功能是:把形参S所指字符串下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedgo1 1 2 sk 3 c2.给定程序M0DI1.C中函数fu n的功能是:求s=aaaa
17、-aaaaaa(此处aaaa表 示n个a,a和n的值在1至9之间)。1 long s=O,t=O;2 t=t/10;3.请编写一个函数void fun(char*tt,int p p ),统计在t t所指字符串中a 至z 26个小写字母各自出现在的次数,并依次放在pp数组中。char*p=tt;int i;for(i=0;i=a&*p=z)pp*p-a+=l;P+;第十六套1.人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。1 ST
18、U 2 stdi.num 3 stdi2.给定程序M0DI1.C中函数fun的功能是:从S所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。1 if(*r=*p)r+;p+;2 if(*r=O)3.函数fu n的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指数组中。int i,j=0;for(i=0;istrlen(s);i+)if(si%2)tj+=si;tj=O;第十七套1.给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放 在 形 参t所指的变量中,最后在主函数中输出。例如,形 参s所指的字符串为:ab
19、cdef35adgh3kjsdf7(1 输出结果为:4。1 si 2 9 3*t=n;2.给定程序M0DI1.C中函数fu n的功能是:通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中值为3,b 中的值为8.1 t=*x;*x=y;2 return(t);3.请编写函数fu n,函数的功能是:求 出 1 到 1000之间能被7 或 11整除,但不能同时被7和 11整除的所有整数并将它们放在a 所指的数组中,通过n 返回这些数的个数。int i,j=0;for(i=l;i=1000;i+)if(j%7=0|i%ll=0)&i%77
20、!=0)aj+=i;*n=j;第十八套1.给定程序中,函数fun的功能是:有 N X N 矩阵,根据给定的m(m=2)&(n=0.000001);return xl;第十九套1.给定程序中,函数fun的功能是:将 a 所指的3 X 5 矩阵中第k 列的元素左移到第0 歹 lj,第 k 列以后的每列元素行依次左移,原来左边的各列依次绕到右边。1 k 2 N-1 3 temp2.给定程序MODI1.C中函数fun的功能是:根据形参m 的 值(2=m=num)2 t=s/n;3.请编写一个函数void fun(char a,char b Lint n),其功能是:删除一个字符串指定下标的字符。其中,
21、a 指向原字符串,删除指定字符后的字符串放在b 所指的n 中存入指定的下标。strncpy(b,a,n);bn=0;strcat(b,a+n+l);第二T 一 一 套1.给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k 的字符串右边的字符删去,只保留左边的k 个字符。ss所指字符串数组中共有N 个字符串,且串小于Mo1 M 2 N 3 02.给定程序MODI1.C中函数fun的功能是:根据以下公式求冗值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi二 30140578.。1 1=1.0;2 return(s*2);3.假定输入字符串
22、中只包含字母和*号。请编写函数fu n,它的功能是:使字符串的前导*号不得多于n 个;若多于n 个,则删除多余的札号;若少于或等于n 个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。int i=0;int k=0;char*p,*t;p=t=a;while(*t=*)k+;t+;if(kn)while(*p)ai=*(p+k-n);i+;P+;ai=0;)第二十二套1.给定程序中,函数fun的功能是:将 a 所指4 X 3 矩阵中第k 行的元素与第。行元素交换。例如:有下列矩阵1 2 34 5 67 8 910 1112若 k 为 2,程序执行结果为7 8 94
23、 5 61 2 310 11 121 k 2 N 3 aki2.给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度tj+l)3.请 编 写 函 数 fu n,函数的功能是:将 ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。char*p=ss;int i=0;while(*p)if(i%2)&(*p=a&*p0;n-)*q+=,*;*q=0;第二十五套1.用筛选法可得到2 n(nLOOOO)之间的所有素数,方法是:首先从素数2 开始,将所有 2 的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该
24、数的所有倍数,依此类推,直到所找的下一个数等于n 为止。这样会得到一个序列:2、3、5、7、11、13、17、19、23 函数fun用筛选法找出所有小于等于n 的素数,并统计素数的个数作为函数值返回。1 ai 2 ai 3 02.给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。1 y=l;2 d=a-i;3.请编写函数fu n,它的功能是:计算并输出n(包括n)以内能被5 或 9 整除的所有自然数的倒数之和。int i;double sum=0.0;for(i=l;i=n;i+)if(i%5=0|i%9=0)s
25、um+=1.0/i;return sum;第二十六套1.给定程序中,函数fun的功能是建立一个N X N 的矩阵。矩阵元素的构成规律是:最外层元素的值全部是1;从外向内第二层元素的值全部为2;第三层元素的值全部是3,依此类推。1 N 2 i 3 i+12.给定程序MODI1.C中函数fun的功能是:将十进制正整数m 转换成k(2W kW 9)进制数,并按高位到低位顺序输出。1 void fun(int m,int k)2 aai=m%k;3 printf(%d,aai-l);3.编写一个函数,从 num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用*作为结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 上机 考试 题库 答案

限制150内