《2017年3月全国计算机等级考试二级C语言上机题库完全版》由会员分享,可在线阅读,更多相关《2017年3月全国计算机等级考试二级C语言上机题库完全版(28页珍藏版)》请在人人文库网上搜索。
1、第一套1. 程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第一处 struct student t;第二处 for(i=0;i0)2 程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。/*found*/q=p+i;/*found*/while(qp)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函。
2、数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。int fun(STREC *a,STREC *b,int l,int h)int i,j=0;for(i=0;i=1&ai.snext;第三处 q=q-next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。/*found*/p=j;/*found*/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。vo。
3、id fun(int m,int *a,int *n)int i;*n=0;for(i=7;idata=ch)return n;第三处 k=fun(head,ch);2. 程序修改给定程序MODI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用#结束输入。/*found*/for(i=0,t=0;pi;i+)/*found*/ct=0;3. 程序设计请编写一个函数fun,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。void fun(char *ss)int i;for(i=1;i=a&ssi=e。
4、ps)s+=t;n+;t=t*n/(2.0*n+1);return(s*2.0);第六套1. 程序填空给定程序中,函数fun的功能是:将形参s所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。第一处 tj=si;j+;第二处 for(i=0;iscorei+=1;第三处 return a;2. 程序修改给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。/*found*/char *fun(char (*sq)M)/*found*/return sp;3.。
5、 程序设计函数fun的功能是:将a、b中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。#include void fun(int a,int b,long *c) *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;第八套1. 程序填空函数fun的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇书,则中间元素不动。第一处 p=(n%2=0)?n/2:n/2+1;第二处 ai=ap+i;第三处 a。
6、p+i=t;2. 程序修改给定程序MODI1.C中函数fun的功能是:把主函数中输入的三个数,最大的放在a中,最小的放在c中,中间的放在b中。/*found*/float k;/*found*/if(*aai.s)j=0;bj+=ai;min=ai.s;else if(min=ai.s)bj+=ai;return j;第十一套1. 程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第一处 av=s/N;第二。
7、处 yj+=xi;xi=-1;第三处 if(xi!=-1)yj+=xi;2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一行英文文本行,将其中每个单词的第一个字母改成大写,然后输出次文本行(这里的“单词”是指由空格隔开的字符串)。/*found*/#include/*found*/upfst (char *p)3. 程序设计程序定义了NN的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:求出数组周边元素的平均值并作出函数值饭给主函数中的s。double fun(int wN) int i,j,n=0;double sum=0;for(i=0;ivoid fun(int。
8、 a,int b,long *c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第十三套1. 程序填空给定程序中,函数fun的功能是:找出N*N矩阵中每列元素中的最大值,并按顺序一次存放于形参b所指的一维数组中。第一处 bi=a0i;第二处 if (bi#define MAX100int fun(int lim,int aaMAX)int i,j,k=0;for(i=2;i(i/2)aak+=i; return k;第十四套1. 程序填空函数fun的功能是进行字母转换。若形参ch中小写英文字母,则转换成相应的大写英文字母;若形参ch中是大写英文字母,则转。
9、换成相应的小写英文字母;并将转换的结果作为函数值返回。第一处 if(ch=a)&(ch=a&*p#include void fun (char*s, char t)int i, j=0;for(i=0;i=0&siviod fun (int *a,int *n)int i;*n=0;for(i=7;i0.);return x1;第十九套1. 程序填空给定程序中,函数fun的功能是:将a所指的35矩阵中第k列的元素左移到第0列,第k列以后的每列元素行依次左移,原来左边的各列依次绕到右边。第1处for(p=1;p=num)/*found*/t=s/n3. 程序设计请编写一个函数void fun(c。
10、har a ,char b ,int n),其功能是:删除一个字符串指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串放在b所指的n中存入指定的下标。viod fun (char a ,char b,int n)strncpy (b,a,n);bn=0;strcat(b,a+n+1);第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串小于M。第一处 void fun(char (*ss)M, int k)第二处 while (in)i=n;j=k;f。
11、or(;aj!=0;j+)ai+=aj;ai=0;第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处 void fun(int (*a)N,int k)第二处 for(i=0;itj+1)3. 程序设计请编写函数fun,函数的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。void fun(char *ss)char *p=ss;inr i=0;while(*。
12、p)if(i%2)&(*p=a &*p0;n-)*q+=*;*q=0;第二十五套1. 程序填空用筛选法可得到2n(nmaxlen)maxlen=strlen(ai);k=i;*max=ak;第二十七套1. 程序填空函数fun的功能是计算f(x)=1+x-2/2!+3/3!-4/4!+的前n项和。若x=2.5,n=15时,函数值为1.。第一处 f=1;第二处 t*=(-1)*x/i;第三处 f+=t;2. 程序修改给定程序MODI1.C中函数fun的功能是:从三个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在没组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组。
13、合数应该是15.程序中i的值代表红球数,j代表白球数,k代表黑球数。/*found*/for(i=1;i=0&k0.001)3. 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串中的第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。void fun(char *a,char *h,char *p)int j=0;char *q=a;while(*q&q=0;j-)第三处 tjN-1=rj;2. 程序修改给定程序MODI1.C中函数fun的功能是:计算s=。
14、f(-n)+f(-n+1)+f(0)+f(1)+f(2)+f(n)的值。例如,当n为5时,函数值应该是:10.。/*found*/double f(double x)/*found*/return s;3. 程序设计编写一个函数fun,它的功能是计算:s=根号下(ln(1)+ln(2)+ln(3)+ln(m)S作为函数返回,在C语言中可以调用log(n)求ln(n)。log函数引用说明是:Double log(double x)例如,若m的值为:20,fun函数值为:。double fun(int m)double s=0.0;int i;for(i=0;idata=x;第二处 q=p;第三处。
15、 q-next=s;2. 程序修改给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。/*found*/long k=1;/*found*/num/=103. 程序设计请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数返回。float fun(float *a,int n)int i;float ave=0.0;for(i=0;inext;第三处 fun(head,&num);2. 程序修改给定程序MODI1.C中函数fun的功能是:求出s所指字符串最后一次出现的t所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。/*found*/a=NULL;/*found*/if(*r=*p)3. 程序设计函数fun的功能是:将s所指字符串中除了下标为偶数,同时ASCII指也为偶数的字符外,其余的全部都删除:串中剩余字符所形成的一个新串放在t所指的数组中。void fun(char *s,char t )int i,j=0;for(i=0;istrlen(s);i+=2)if(si%2=0)tj+=si;tj=0;第三十六套1. 程序填空函数fun的功能是:进行数字字符转换。若形参ch中是数字字符09,则0转换成9,1转换成8,2。