《南开二级C语言上机100题.docx》由会员分享,可在线阅读,更多相关《南开二级C语言上机100题.docx(18页珍藏版)》请在优知文库上搜索。
1、06年南开上机咫1:第I即m个人的成绩存放在乂。2数纲中,请端耳函数fun.它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中.答案:inifu11i11tscore.inlm.i11tbelow()Iinti.k=0,avcr=0;forti=0:im;i+)ave+=scorei:avcr=m;for(i=0;im;i+)if(scoreijaver)Ibclow(k=scorci:k+;returnk:2:第2题清第耳函数fun,它的功能是:求出I到100之内能北7或者Il整除,但不能同时北7和Il整除的所有证书,并将他们放在a所指的数组中,通过n
2、返回这些数的个数.答案:voidfun(int*a.int*n)Iintij=0:for(i=2i100Oii+)ifi%7=0|i%ll=0)&i%77!=O)aj+=i:*n=j;3:第3时请编写函数VoidfUn(iniWnpp.in*n).它的功能是:求出能整除X旦不是偶数的各整数,并按从小到大的顷序放在pp所指的数组中,这线除数的个数通过的参n返回.答案:voidfu(intx.intpp(.in*n)Iinti=lj=(kk=O.*t=pp:for(i=0;i=x:i+)if(i%2!=0)tl=l;J+:Ifor(i=0;intppJ).统计在tt字符中a,1到“26各字母各自现
3、的次数.并依次放在PP所指的数组中,答案:voidfun(char*H.intpp)(inti;for(i=0:i26:i+)PPlib=0:while(*11)switchdll)Iease*a,:pp(O*brcak;case4b,:I+ibreak;easeaC:pp2)+break:eased:pp3+zbrcak:casetc9:pp4brcak;caseif9:(5+bak;casea,g:pp6+zbrcak;easeh,:pp7+zbrcak:casetfI:pp8brcak;case,J:pp91break;casek,:pp10J+break:easeT:pp11+brca
4、k:ease*m,:ppl2rcak;case,n:l2+brexkcase(O:pp|14)+:break;easetp,:pp15+brcak;caset,q:pp|6rcak;casei9r:pl7+break;case,s,:pp|18)+;break;case,t,:pl9+break;caseu:pp(20+zbretk;casev:pp21j+:brcak;casew:ppl22+;brcak:case,x,:p23+brek;casey:pp|24+:break;case,z:pp(25+bccak;ll+;5:第5题请编写一个函数voidfun(intn.inlk.inlnx
5、).该函数的功能是:将大于整数m且索推m的k各素数存入XX所指的数组中.答案:voidfun(intm.intk.iniXXlDIi11tg=O,Ij,tlag=l;forti=n+im*ni+)Ifortj=Oy=i)Iif(k=O)xx(g+=i;k-;elsebreak;6:第6题请编写一个函数VeidfUn(CharaOcharMintn).其功能是:删除以各字符审中指定下标的字符,其中,a指向原字符串,捌除后的字符串存放在b所指的数组中,n中存放指定的下标.答案:voidfu11(chara(.chart(.i11tn)IintIj=O;for(i=0;ibj=ail;j+:bl=4
6、j0);7:第7题请编写一个函数intftn(int-Sjnt1.in1.k),用来求除数组的最大元素在数殂中的下标并存放在k所指的储存单元中。答案:voidfun(int*s,intt,int+k)IintI.max:max=s0:for(i=OJif(sinm)Inwc=s(i:*k=I;8:第8卷编写函数fun,功能是:根据以下攻势计算s.计算结果作为函数值返回:n通过形参传人.S=l+l(l+2)+l(1+2+3)+.+1/(1+2+3+4+n)答案:Iloatfun(intninti;oats=1.0,(=1.0;for(i=2:in,p=m!n!(m-n)!答案:oalfun(in
7、tm.in(n)floatp,t=1.0;in”;for(i=l;i=m;i+)t=tI;p=t;fort=l.0,i=l:i=n;i+)t=lI;P=PMfor(t=l.(),i=l;ilc-6:returnxl;II:第U遨下列程序定义了Mn的二维数SI,并在主图数中自动程序.请编写函数fun(inan),该函效的功能是:使数组左下半三角元素中的位全部冏成0.答案:i11(fun(intaN)iniIJ:forti=0;iN:i+)for(j=O0=l+)ai)jl=O;12:第12即卜列程序定义了nXn的二维数汨,并在主函数中赋值,请编写函数fun.函数的功能使求出救组周边元索的平均值并
8、作为函数值返回给主函数中的s.答案:doublefu11(intwN)Iin(lj,k=O;doubles=0.0;fortj=OJs+=w0(j;k+;for(j=()yNy+)s+=wNlJj;k+;for(i=ki=N-2J+)Is+=wi0:k+:forti=ki=N2U+)s+=wi11N-l;k+;rcum=k;13:第13SS请编写个函数Voidmn(inu(mJn1.intpn)t指向一个m行n列的二维函数坦,求出二维函数如堤列中最小元素,并依次放入PP所指定一堆数殂中。二维数组中的数己在主函数中赋予。答案:voidfun(in11(M(NJ.intPp(NDIintl,j.m
9、in:for(j=0;jNy*+)I11in=tt(Oj;forti=0;ippjl=min;14:笫14题请别写函数fun.函数的功能使求出二维数组周边元素之和,作为函数值返回.二堆做组中的值在主函数中赋予.答案:intfu11inla(M)(N)IintIj3=0;for(j=0yN+)Is+=a01Uhs+=aM-l;for(i=1;i10)Iif(tIO)p=1%10;s=s+pi*sl;Sl=Sl0:t=VIO;rvlums:16:第16题请阑写一个函数noalfun(doubICh),函数的功能使对变量h中的低保留2位小树井对第三位进行四舍五入(规定h中的值位正数).答案:floa
10、tiun(floath)long:oats:h=hl(XX):t=(h5)10;s=(oat100.O;returns:17:第17题请籁写一个函数ftm(dar%),该函数的功能使把字符串中的内容拟置答案:voidfun(char*s)charch;intl.m.n:i=O;n=n=s(rlen(s-l;while(i(n+y2)Ich=si;si=sm;sm=ch;i+:m-;18:第18题编写程序,实现矩阵(3行3列)的转置即行列互换)。答案:voidfun(inarray33)Iintlj.tcmp;for(i=0;i3;i+)for(j=0;jI,j+)Itemp=arrayiHj;arrayil(jl=aay(j11;a11ayUi=temp;19:第19即编”函数fun.该函数的功能是:从字符中IH除指定的字符,同一字母的大、小写按不同字符处理.答案:voidfun(chars.intc)inti=0;charp:p=s:whilc(*p)if(tp!=c)s(i=*p:i+;p+;s(ij=W;20:第20JS编写函数intfun(intIim,intaanw,该函数的功能是求出小于或等于Iim的所有素数并放在aa数殂中,该函数返回所求的素数的个数,答案:in