《c语言题库(6).docx》由会员分享,可在线阅读,更多相关《c语言题库(6).docx(5页珍藏版)》请在优知文库上搜索。
1、1:第1题m个人的成绩存放在SCOre数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。答案:intfun(intscore,intm,intbelow)(inti,k=0,aver=O;for(i=0;im;i+)aver+=scorei;aver=m;for(i=0;im;i+)if(scoreiaver)(belowk=scorei;k+;)returnk;2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
2、答案:voidfun(int*a,int*n)(inti,j=0;for(i=2;i1000;i+)if(i%7=0I,i=0)&iw!=0)aj+=i;*n=j;)3:第3题请编写函数VOidfun(intx,intpp,int*n),它的功能是:求出能整除X且不是偶数的各整数,并按从小到大的顺序放在PP所指的数组中,这些除数的个数通过形参n返回。答案:voidfun(intx,intpp,int*n)inti=l,j=0;k=0,*t=pp;for(i=0;i=x;i+)if(i%2!=0)(tj=I;j+;)for(i=0;ij;i+)if(x%ti=0)(ppk=ti;k+;)*n=k
3、;)4:第4题请编写一个函数Voidfun(char*tt,intpp),统计在tt字符中a到z26各字母各自出现的次数,并依次放在PP所指的数组中。答案:voidfun(char*tt,intpp)(inti;for(i=0;i26;i+)ppi=;while(*tt)(switch(*tt)(case匕:ppO+;break;caseb:ppl+;break;caseicf:pp2+;break;casetd,:pp3+;break;casee:pp4+;break;casef:pp5+;break;case,g:pp6+;break;case,h:pp7+;break;casei:pp8
4、+;break;casej:pp9+;break;case:pp10+;break;case*1,:ppll+;break;caseim,:pp12+;break;casein,:pp12+;break;caseiof:pp14+;break;caseip,:pp15+;break;caseq:pp16+;break;case*r,:pp17+;break;case飞:pp18+;break;case气:pp19+;break;caseiu,:pp20+;break;casefv,:pp21+;break;case4w,:pp22+;break;casex:pp23+;break;casety
5、,:pp24+;break;caselz,:pp25+;break;)tt+;)5:第5题请编写一个函数VOidfun(intm,intk,intxx),该函数的功能是:将大于整数m且紧靠m的k各素数存入XX所指的数组中。答案:voidfun(intm,intk,intxx)(intg=0,1,j,fIag=I;for(i=m+l;im*m;i+)(for(j=0;j=i)(if(k=0)(xxg+=i;k一一;)elsebreak;)6:第6题请编写一个函数Voidfun(chara,char,intn),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b
6、所指的数组中,n中存放指定的下标。答案:voidfun(chara,charb,intn)(intI,j=0;for(i=O;iVLEN;i+)if(i!=n)(bj=ai;J+;)bj=0,;)7:第7题请编写一个函数intfun(int*s,intt,int*k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。答案:voidfun(int*s,intt,int*k)intI,max;max=s0;for(i=0;imax)(max=si;*k=I;)8:第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=l+1(1+2)+1/(1+2+3)+.+1/(1+2+3+4+n)答案:floatfun(intn)(inti;floats=l.0,t=l.0;for(i=2;in。p=m!n!(m-n)!答案:floatfun(intm,intn)(floatp,t=l.0;intI;for(i=l;i=m;i+)t=t*I;p=t;for(t=l.0,i=l;i=n;i+)t=t*I;p=pt;for(t=l.0,i=l;ile-6);returnxl;)