
二级C上机考试范围.pdf
99页全国计算机等级考试上机考试习题集(二级C语言程序设计)地址:机电技术学院南大门华联超市3楼(欣科培训):13505590388第一部分编程题于平均分的人数作为函数值返回,将底于平均分的分数放在数组belo w中1.m个人的成绩存在数组s co r e中,函数f un 的功能是将底 如:当 s co r e中的数据为1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0 时,函数返回的人数为4,bleo w中的数据为1 0,2 0,3 0,4 03.编写函数,求出能整除x且不是偶数的各整数,按从小到#i n clude 大的顺序放在数组中,这些除数的个数通过形参n返回i n clude 如:若x中 的 值 为3 0,则 有4个数符合要求,它们是#i n clude 1,3,5,1 5i n t f un(i n t s co r e,i n t m,i n t belo w)#i n clude(#i n clude vo i d f un(i n t x,i n t p p ,i n t *n)(m ai n()i n t i,n,belo w 9;)i n t s co r e 9 =1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 0);m ai n()clr s cr ();i n t x,aa 1 0 0 0,n,i;n=f un(s co r e,9,belo w);clr s cr ();p r i n t f(p eo p le二%dn,n);p r i n t f CAn Pleas e en t er an i n t eg er n um ber:n,z);p r i n t f (,zn Belo w t h e aver ag e s co r e ar e:);s can f&x);f o r(i=0;i n;i+)f un(x,aa,&n);p r i n t f(z,%d ,belo w i);f o r(i=0;i n;i+)p r i n t f (,z%d ,aa i);答案p r i n t f(n);i n t i,j=0,s=0;)f o r (i=0;i m;i+)s+=s co r e i;答案s/=m;i n t i=l;f o r (i=0;i m;i+)i f(s co r e i s)belo w j+=s co r e i;f o r (*n=0;i =x;i+)r et ur n ji f(x%i=0&i%2=l)p p *n+=i;2.函数f un求1到1 0 0 0之内能被7或1 1、当不能同时被74.编写函数,统计在t t字符中a 到 z2 6个字母出现的个和1 1整除的所有整数、并将它们放在数组a中,通过n返数,并放在P P所指的数组中回这些个数如:输 入abcdef g abcdeabc后,程 序 输lli的结果应该t t i n clude 为: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 0t t i n clude#i n clude vo i d f un(i n t *a,i n t *n)#i n clude(vo i d f un(ch ar *t t,i n t p p )(m ai n()i n t aa 1 0 0 0,n,k;m ai n ()clr s cr ();ch ar aa 1 0 0 0;f un (aa,&n);i n t bb 2 6,k,n;f o r (k=0;k n;k+)clr s cr ();i f(k+l)%1 0=0)p r i n t f CAn Pleas e en t er a ch ar s t r i n g:);p r i n t f(n);s can f (%s ,aa);els e p r i n t f(%5 d,aa k);f un(aa,bb);)f o r (k=0;k 2 6 ;k+)p r i n t f b b k );答案p r i n t f r n,z);i n t i,j=0;)f o r(i=l;i 1 0 0 0;i+)i f (i%7 0&i%ll!=0|答案7!=0)a j+=i;i n t i;*n=j;f o r(i=0;i 2 6;i+)p p i=0;f o r (i=0;t t i;i+)p p t t i-,a+;p r i n t f (,zTh e n ew s t r i n g i s:%s n,z,s t r 2);5 .编写函数,将大于整数m且紧靠m的k个素数放到x x数组中如:若输入:1 7,5则应输出:1 9,2 3,2 9,3 1,3 7t t i n clude t t i n clude vo i d f un(i n t m,i n t k,i n t xx)(m ai n O i n t m,n,zz 1 0 0 0;clr s cr ();p r i n t f (z,n Pleas e en t er t wo i n t eg er s/);s can f (%d,%d,&m,&n);f un(m,n,zz);f o r(m=0;m n;m+)p r i n t f (,z%d ,zz m);p r i n t f(n);答案i n t i,j,n=0;f o r (i=m+l;n k;i+)f o r(j=2;j i;j+)i f(i%j=0)br eak;i f (j=i)xx n+=i;)6 .编写函数,删除一个字符串中指顶卜标的字符,a指向原字符串,删除后的字符串放在b字符串中如:输入字符串W o r ld,然 后 输 入3,则删除后的字符串为W o r d#i n clude#i n clude#def i n e L EN 2 0vo i d f un (ch ar a,ch ar b,i n t n)()m ai n()ch ar s t r 1 L EN,s t r 2 L EN;i n t n;clr s cr ();p r i n t f (z,En t er t h e s t r i n g:n/z);g et s (s t r l);p r i n t f(En t er t h e p o s i t i o n o f t h e s t r i n gdelet ed/);s can f(%d,&n);f un(s t r l,s t r 2,n);答案i n t i,j=0;f o r(i=0;a i;i+)i f(i n)b j+=a i;els e b j+=a i+l;7 .编写函数,求数组中最大元素的下标,存放的k所指的存储单元中如:8 6 7 6 7 5 8 9 6 1 0 1 3 0 1 4 0 1 9 8 0 4 3 1 4 5 1 7 7 7,则输出:6,9 8 0#i n clude#i n clude vo i d f un (i n t *s,i n t t ,i n t *k)()m a i n()i n ta 1 0=8 7 6,6 7 5,8 9 6,1 0 1,3 0 1,4 0 1,9 8 0,4 3 1,4 5 1,7 7 7 ,k ;clr s cr();f un (a,1 0,&k);p r i n t f (,%d,%dn”,k,a k);)答案i n t i,m ax;m ax=s 0;f o r(i=l;i t;i+)i f(m ax s i)m ax=s i;*k=i;8.编写函数,计 算s的值,s=l+l/(1+2)+1/(1+2+3)+1/(1+2+.+n)如:输入n=ll,s的值为1.8 3 3 3 3 3#i n clude#i n cludet t i n cludef lo at f un (i n t n)m ai n()i n t n;f lo at s;clr s cr ();p r i n t f (,zn Pleas e en t er N:);s can f (%d,&n);s=f un(n);p r i n t f (z,Th e r es ult i s:%f n,s);)答案i n t i;do uble s=0,t=0;f o r(i=l;i n,p=m!/(n!*(m-n)!)如:输入m=1 2,n=8时,p的结果为4 9 5.0 0 0 0 0 0t t i n clude#i n clude f lo at f un(i n t m,i n t n)(m ai n()clr s cr ();p r i n t f(P=%f n ,f un(1 2,8);)答案i n t i;do uble a=l,b=l,c=l;f o r (i=l;i =m;i+)a*=i;f o r (i=l;i =n;i+)b*=i;f o r(i=l;i =m-n;i+)c*=i;r et ur n a/(b*c);1 0 .编写函数,求 co s (x)-x=0 的一个实根 X(n+l)=co s(X n),步骤如下:(1)取x l初值为0.0;(2)x0=xl,把x l的值赋给初;(3)xl=co s(x0),求出一个实根;(4)若x0-xl的绝对值小于0.0 0 0 0 0 1,执行步骤(5),否则执行 步 骤 ;(5)所求x l就是co s(x)-x=0的一个实根,作为函数值返回程序输出结果Ro o t=0.7 3 9 0 8 5t t i n clude#i n clude t t i n clude f lo at f un()(m ai n O clr s cr O ;p r i n t f (z,Ro o t=%f nz/,f un();答案:f lo at xl=0,xO;do x0=xl;xl=co s(x0);)wh i le(f abs(x0-xl)=0.0 0 0 0 0 1);r et ur n xl;1 1 .编写函数,使N*N的二维数组的左下半三角形全部置0,如:a数 组 为1,9,72 ,3,84,5,6返回主函数后a数组中的值为a数 组 为0,9,70,0,80,0,0t t i n clude i n clude t t i n clude t t def i n e N 5vo i d f un(i n t a N)()m ai n()i n t a N N,i,j;clr s cr O ;p r i n t f(*Th e ar r ay*n);f o r(i=0;i N;i+)(f o r(j=0;j N;j+)(a i j=r an d()%1 0;p r i n t f (4 d,a i j);)p r i n t f(n);f un (a);p r i n t f CTHE RESUL Tn);f o r(i=0;i N;i+)(f o r(j=0;j N;j+)p r i n t f(%4 d,a i j);p r i n t f(n);)答案i n t i,j;f o r(i=0;i N;i+)f o r(j=0;j =i;j+)1 2.编写函数,将N*N的二维数组周边元素的平均值作为函#def i n e M 3数值返回给主函数sdef i n e N 4如:vo i d f un (i n t t t M N,i n t p p N)0 1 2 7 9(1 9 7 4 5a=2 3 8 3 1)4 5 6 8 2m a i n()5 9 1 4 1 i n t t M N =2 2,4 5,5 6,3 0),返回主函数后s的值为3.3 7 5 1 9,3 3,4 5,3 8),t t i n clude 2 0,2 2,6 6,4 0 ;t t i n clude i n t p N ,i,j,k;t t i n clude clr s cr ();t t de。
