二级考试C精简_第1页
二级考试C精简_第2页
二级考试C精简_第3页
二级考试C精简_第4页
二级考试C精简_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一套【填空】下列给定程序中,函数fun的功能是计算如下公式。直到,并且把计算结果作为函数值返回。例如,若形参e的值为1e-3,则函数返回值为0.551690。【答案】【1】3.0 【2】 【3】(t+1)【改错】下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。例如,若n=5,则应输出8.391667。【答案】【1】double fun(int n)【2】s=s+(double)a/b;【编程】请编写函数fun,其功能是:找出2M整型二维数组中最大元素的值,并将此值返回调用函数。【答案】int i,j,max=a00;for(i=0;i2;i+)for(j=

2、0;jM;j+)if(max=eps) s1=s1*n/(2*n+1);s=s+s1;n+;return 2*s第三套【填空】给定程序中函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为abcdef35adgh3kjsdf7,则输出结果为4。【答案】【1】si 【2】 9 【3】*t=n【改错】下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。【答案】【1】t = *x ; *x = y ;【

3、2】return(t) ;【编程】编写函数fun,其功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。【答案】int i,j=0;for(i=1;iave=0.0;for(i=0;iave=a-ave+a-si;第七套【填空】下列给定程序中函数fun的功能是进行数字字符转换。若形参ch中是数字字符09,则将0转换成9,1转换成8,2转换成7,9转换成0;若是其它字符则保持不变;并将转换后的结果作为函数值返回。【答案】【1】char【2】chnext;while(p!=NULL)av=av+p-s;p=p-next

4、; return ave/N;第八套【填空】下列给定程序中函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。【答案】【1】M【2】=a)&( tti = z) 【2】tti-=32;【编程】编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。例如,若输入17,则应输出:46891012141516。【答案】int i,j,n=0;for(i=4;im;i+)for(j=2;ji;j+)if(i%j=0) break;if(ji

5、) xxn+=i;*k=n;第九套【填空】下列给定程序中函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。【答案】【1】j+ 【2】si=t1i 【3】j【改错】下列给定程序中函数fun的功能是:用冒泡法对6个字符串由小到进行升序排列。【答案】【1】for (j=i+1; j 6; j+)【2】*(pstr+i)=*(pstr+j);【编程】编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串1

6、23412132,输入字符为1,则输出3。【答案】int i=0;for(;*ss!=0;ss+)if(*ss=c) i+;return i;第十套【填空】下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。【答案】【1】x 【2】p 【3】s【改错】下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。例如,若输入252,则输出应该是20。若输入202,则输出应该是0。【答案】【1】long k=1; 【2】num /=10;【编程】编

7、写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。【答案】float av=0.0;int i;for(i=0;in;i+)av=av+ai;return (av/n);第十一套【填空】下列给定程序中函数fun的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。【答案】【1】1 【2】i 【3】

8、ap+i【改错】下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。例如,若输入的数为:551234,输出的结果应当是:a=55.0,b=34.0,c=12.0。【答案】【1】float k;【2】if(*a *c)【编程】学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。【答案】int i,j=0,max=a0s;for(i=0;iN;i+)if(maxais) max=ais

9、;for(i=0;iN;i+)if(max=ais) bj+=ai;return j;第十二套【填空】下列给定程序中函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。【答案】【1】N 【2】k 【3】ssi【改错】下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。例如,若主函数中a字符串为aBCDeFgH,b字符串为ABcd,则c中的字符串应为aBcdeFgH。【答案】【1】int k=0

10、; 【2】while (*p|*q)【编程】规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内容应当是:*ABCDEFG。【答案】int i=0;char *p=a;while(*p&*p=*)ai=*p;i+;p+;while(*p)if(*p!=*)ai=*p;i+;p+;ai=0;第十三套【填空】下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字

11、符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指字符串为abcdefgh,执行结果为ahcbedgf。【答案】【1】1 【1】sk 【1】c【改错】下列给定程序中fun函数的功能是:求表达式s=aa aa- aaa - aa -a(此处aa aa表示n个a,a和n的值在1至 9之间)例如,a=3,n=6,则以上表达式为:s=333333-33333-3333-333-33-3其值是296298。a和n是fun函数的形参,表达式的值作为函数值传回main函数。【答案】【1】long s=0, t=0; 【1】t=t/10;【编程】编写函数void f

12、un(char *tt,int pp),统计在tt所指的字符串中a到z26个小写字母各自出现的次数,并依次放在pp所指的数组中。例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0【答案】int i;for(i=0;i=a&*ttdata【3】t【改错】下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。例如,若字符串为abcd,则应输出:dcba。【答案】【1】void fun(char *a)【2】printf(%c ,*a);【编程】

13、编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。例如,输入beijing shanghai(为回车键),函数将返回shanghai。【答案】int i,j;for(i=0;si!= 0;i+); for(j=0;tj!= 0;j+);if(i=j) return s; else return t;第十六套【填空】下列给定程序中函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数

14、组中数据的个数。【答案】【1】n/2【2】i【3】an-i-1【改错】下列给定程序中函数fun的功能是:将一个由八进制数字字符组成的字符串转换成与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。例如,若输入77777,则输出32767。【答案】【1】n= *p-0; 【2】n=n*8+*p-0;【编程】学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:函数返回该学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。【答

15、案】int i;STREC str=0,-1; if(strcmp(ainum,b)=0) str=ai;return str;第十七套【填空】下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。【答案】【1】r 【2】fs【3】ft【改错】下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数:8642。

16、【答案】【1】if(d%2=0)【2】s/=10;【编程】函数fun的功能是:将s所指字符串中除下标为偶数同时ASCII码值也为偶数的字符外,其余的全部删除;字符串中剩余字符所形成的新串放在t所指的数组中。例如,若s所指字符串中的内容为:ABCDEFG123456,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;字符2的ASCII码值为偶数,但在数组中的下标为奇数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是246。【答案】int i,j=0;for(i=0;si!=0;i+)if(i%2=0&si%2=0

17、) tj+=si;tj=0第十八套【填空】下列给定程序中函数fun的功能是:有NN矩阵,根据给定的m(m=2) & (n=1e-6);return x1;第十九套【填空】程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如,a所指变量中的学号、姓名和三门课的成绩依次是:10001、ZhangSan、95、80、88,则修改后输出b中的数据应为:10002、LiSi、95、80、88。【答案】【1】a 【2】【3】scorei【改错】下列给定程序中

18、函数fun的功能是:删除s所指字符中所有的小写字母c 。【答案】【1】sj+=si; 【2】sj= 0;【编程】规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。例如,字符串中的内容为:*A*BC*DEF*G*,移动后,字符串中的内容应当是:A*BC*DEF*G*。在编写函数时,不得使用C语言提供的字符串函数。【答案】int i=0,n=0;char *p;p=a;while (*p=*) n+;p+;while(*p) ai=*p;i+;p+;while(n!=0)ai=*;i+;n-;ai=0; 第二十套【填空】下列给定程序的功能是:

19、从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用-1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数ReadText和WriteText实现。【答案】【1】*fw 【2】str 【3】str【改错】下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为7654321时,t中的数为7531。【答案】【1】void fun(long s,long *t)【2】s1=s1*10【编程】学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构

20、体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。【答案】int i,j=0,n=0,min;min=a0s;for(i=0;iN;i+) if(aismin) min=ais;for(i=0;i0且x2 f(x)= 0x=0或x=2(x-1)/(x-2) x0【答案】【1】double f(double x)【2】return s ;【编程】编写函数fun,其功能是计算:s作为函数值返回。在C语言中可调用log(n)函数求ln(n)。log函数的引用说明为:double log(double x)。例如

21、,若m的值为20,则fun函数值为6.506583。【答案】int i;double s=0.0;for(i=1;i=m;i+) s=s+log(i);return sqrt(s);第二十二套【填空】下列给定程序中函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串,并输出,若没找到则输出相应信息。ss所指字符串数组中共有N个字符串,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0,若有,函数值为非0。【答案】【1】N 【2】substr 【3】0【改错】下列给定程序中函数fun的功能是:求三个数的最

22、小公倍数。例如,若给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是330。【答案】【1】fun(int x,int y, int z) 【2】return j;【编程】规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:只删除字符前导和尾部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的“*A*BC*DEF*G*”,删除后,字符串中的内容应当是“A*BC*DEF*G”。【答案】int i,j=0;for(i=h;i

23、n-e;i+) aj+=ai;aj=0; 第二十三套【填空】下列给定程序中函数fun的功能是:计算一个带头结点的单向链表中各结点的数据域中数值之和,结果作为函数值返回。【答案】【1】data 【2】next 【3】head【改错】下列给定程序中函数fun的功能是:将s所指字符串中出现的与t1所指字符串相同的子串全部替换为t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。例如,当s所指字符串中的内容为abcdabfab,t1所指子串中的内容为ab,t2所指子串中的内容为99时,在w所指的数组中的内容应为99cd99f99。【答案】【1】while( *r) 【2

24、】*a=*r;a+;r+;【编程】函数fun的功能是:将s所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所指数组中。例如,当s所指字符串中的内容为ABCDEFGHIJK时,在t所指数组中的内容应是:BDFHJ。【答案】int i,j=0,k=strlen(s);for(i=1;iscorei 【3】a【改错】下列给定程序中,函数fun的功能是:从N个字符串中找出最长的串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。【答案】【1】char *fun(char (*sq)M) 【2】return sp;【编程】编写函数fun,其功能是:将a、b中的两个两位

25、正整数合并成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。例如,当a=45,b=12,调用该函数后c=2415。【答案】*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;第二十五套【填空】下列给定程序中函数fun的功能是:将NN矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。例如,若N=3,有下列矩阵:123456789交换后为:321456987【答案】【1】tN【2】i=0;iN【3】 s【改错】由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fu

26、n的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(lowhigh,查找结束。【答案】【1】int fun(int a,int m) 【2】else if(mamid)【编程】假定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了尾部的*号之外,将字符中的其它的*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容应当是ABCDEFG*。【答案】char *t=

27、a;for(;t0)【编程】学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前,低分在后。【答案】int i,j;STREC t;for(i=1;iN;i+) for(j=0;jN-1;j+) if(ajssno 【2】-name【3】&t【改错】下列给定程序中函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。【答案】【1】double fun(double a,double x0)【2】if(fabs(x1-x0)=0.00001)【编程】

28、学生的记录由学号和成绩组成。N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。【答案】int i;double av=0.0;*n=0;for(i=0;iN;i+)av=av+ais;av=av/N;for(i=0;iN;i+) if(av=ais) b*n=ai;*n=*n+1;return av;第二十八套【填空】下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

29、【答案】【1】q 【2】next 【3】next【改错】下列给定程序中函数fun的功能是:用选择法对数组中的n个元素进行升序排列。【答案】【1】p=j;【2】p=i;【编程】编写函数fun,其功能是:将1到m之间(含m)能被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。例如,若传给m的值为50,则程序输出:711142122283335424449【答案】int i,j=0;for(i=1;is;while(h!=NULL) if(maxs) max=h-s; h=h-next;return max;第三十一套【填空】下列给定程序中函数fun的功能是:计算下式前n项的和,并作为

30、函数值返回。例如,当形参n的值为10时,函数返回:-0.204491【答案】【1】1【2】2*i 【3】(-1)【改错】下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。 在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。【答案】【1】k+ ; 【2】if(m=k)【编程】请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。【答案】int i;*max=a0;*d=0;fo

31、r(i=0;in;i+)if(*maxai)*max=ai;*d=i;第三十二套【填空】下列给定程序中函数fun的功能是计算下式直到,并将计算结果作为函数值返回。例如,若形参e的值为1e-3,函数的返回值为2.985678。【答案】【1】0 【2】i+ 【3】2.0*i【改错】下列给定程序中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。例如,当s所指字符串为:ABCD时,t所指字符串中的内容应为:ABCDDCBA。【答案】【1】void fun ( char *s , char *t ) 【2】td+i=0;【编程】编写函数fun,其功能是:将s所指字符

32、串中除了下标为奇数同时ASCII值也为奇数的字符之外,其余的所有字符全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串的内容为:ABCDEFG12345,其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此需要删除;而字符1的ASCII码值为奇数,所在数组中的下标也为奇数,因此不应当删除,其它依此类推。最后t所指数组中的内容应为:135。【答案】int i,j=0,n;n=strlen(s);for(i=0;in;i+)if(i%2!=0&si%2!=0) tj=si; j+;tj=0;第三十三套【填空】下列给定程序中函数fun的功能是:在形参s所指字符串

33、中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为def35adh3kjsdf7,执行后结果为def3*5*adh3*kjsdf7*【答案】【1】& 【2】0 【3】sj【改错】下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。 例如,若m的值为5,则应输出1.463611。【答案】【1】for(i=2;i=m;i+) 【2】y+=1.0/(i*i);【编程】编写函数fun,其功能是:实现B=A+A,即将矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。例如,输入下面的矩阵: 其转置矩阵为:1 2 3 1 4 7 4 5 6 2 5 8 7 8 9

34、3 6 9程序输出:26106 1014101418【答案】int i,j;for(i=0;i3;i+)for(j=0;j3;j+) bij=aij+aji; 第三十四套【填空】给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若原链表中从头至尾结点数据域一次为2,4,6,8,10,逆置后,从头至尾结点数据域依次为10,8,6,4,2.【答案】【1】NODE 【2】next 【3】r【改错】下列给定程序中,函数fun的功能是:将字符串s中的位于奇数位置的字符或ASCII码为偶数的字符依此放入字符串t中。例如,字符串中的数据为AABBCCDDEEFF,则输出应当是ABBCDDEFF。【答案】【1】if(i%2 | si%2=0) 【2】tj=0;【编程】请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按列的顺序依此放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。例

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论