2019年C语言期末考试题及答案_第1页
2019年C语言期末考试题及答案_第2页
已阅读5页,还剩5页未读, 继续免费阅读

下载本文档

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

文档简介

1、出现多次,求出第一次出现的位置即可)。最大值第三行i<=n五行k+1int,k:k=0;forG=l;i<n;i+十令压的k=i;return(k):2、编写程序求无理数e的值并输出。计算公式为:e=1+1/1!+1/2!+1/3!+.+1/n!当1/n!<时e=。1oilsin七j:inti_,k;floateAi=l;e=0.0.jc=l.O;while(站QOOOQOl)7、求一个n位自然数的各位数字的积。(n是小于10的e=e+jc;j=l;for(k=l;k<=l;k+=*k;rtm-TLe:自然数)longA,e=1:whileCii'XJ)fd=n

2、l0;帚d;n/=10:returns;8、计算n门课程的平均值,计算结果作为函数值返回。求出的最大数为18,行坐标为2,列坐标为1。intmani,j:majc=arrayE00;C.crl=O;for(i=0;i<M;i+)forCj=0;jij+7:i£anarrayijimajt=array_ij;Row=i;Col=j:retuEn3、求一批数中最大值和最小值的积。iRti.m輕min;maH=min=a0;£or=l;i<A;+7i£:aLijAnasmax-a:iJ.elseif(&Imin二也i;return(jnaxmin.)

3、:例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为。4、某一正数的值保留2位小数,对第三位进行四舍五入。inti;tint)(hl000)%10:ifreIuitl(int)(h*10D+1)/1UU.0;tjlseraIuitl(int)(h*100)/100.U;5、从键盘上输入任意实数x,求出其所对应的函数值。z=(x-4)的二次幂(x>4)包q吐空砧八沪宣/八if6c>43z=Eqrt'4):z=x的八次幂(x>-4)elsei£Ik1Q)h=4/仗比磧H);z=z=4/(x*(x+1)(x>-10)return(z);z

4、=|x|+20(其他)inti:floaty=0;forCi=0;i';;i+);returny,9、求一批数中小于平均值的数的个数。intl,£1111=0,s=0;float%丫誼謔£Eor(i=0;ijn;14+)Eiim=,Eiiin+ai:aireragersuin*1.0/it;fQr<i=O;i£(aerage)ai);r直turn.Qc:10、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。调用该函数找出100200之间满足条件的所有数。415611、请编一个函数voidfun(intttMN,in

5、tppN),tt指向一个M行N列的二维数组,求出二维数组每列6、求出NXM整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。例如:输入的数组为:intk,e=0;dos=s+mWl0;m=m/10;wh.ileGn!=O-;if6T=0)h=l;elsekLI;Teturn(k):23、编写函数fun求sum=d+dd+ddd+dd.d(n个d),中最大元素,并依次放入PP所指一维数组中。二维数组中的数已在主函数中赋予。intiJj;for+ppj=-ttOj;forCi-l;i<Jl;Lt+':ppj=tti_i:12、编写函数fun用比

6、较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主程序中输出排序结果。intk_,j,t;forfor!j=1+L;J<n';j4+)ifCarraykl'Carrayj,t=arrayk;arrayk=arrayj:&YY詡口=t:13、编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。要求:m不能小于n,否则应有容错处理。说明:函数fact(x)的功能是求x!。whiletm和牖庶错计诘董新输入;勺;ecan£號战触);zh£g:gfact(jn)(f

7、act(n)fact(jn-n)3:14、找出一批正整数中的最大的偶数。inti,aniaj=-L:for(i=0;L<h;iW)驱土Cl)if_.jCa订呦set)am理二a.i:returnama3c;15、实现两个整数的交换。例如:给a和b分别输入:60和65,输入为:a=65b=60int1;t+aab;+h=t;16、将字符串中的小写字母转换为对应的大写字母,其它字符不变。inti:for(i=O;stri!='计舟1心ri诊J购合'/)strEi=striZ;17、求一个四位数的各位数字的立方和。intks=Q;whi1e(n淞11=10:s+zdMcdd,a

8、/=10;rpturn£:18、求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。intl,k=0;floate=0.AVi;坯EiSi44)s+=aii:ave=E/n;printfKf",ave).;for(1=0;i鬧卄!if(Miave)ld-+:returnk:19、对任意输入的x,用下式计算并输出y的值。5x<10y=0x=10-5x>10intm:i£(nlO)'n)=_5;elsem=0:elsem=5;returnm;20、求给定正整数m以内的素数之和。例如:当

9、m=20时,函数值为77。mti,k,s=0;foriEm;i+)fr如2;曲;屮)if©耐=0Heak:if(k=i='s+i:return,e;21、判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。x的值由主函数从键盘读入,要求不大于100。intk;k=j旳:;出阀。=农|(WS)return1;return0;22、用函数求N个10,60上的整数中能被5整除的最大的数,存在则返回这个最大值,如果不存在则返回0。1ni1;forti=Q:i<K:讨坯if(arri%5=0Marri)ni)m=arri;37、编写函数求表达式的和(n的值由主函数输入)。

10、有素数并放在aa数组中,该函数返回所求出素数的例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函最高分为92,得最高分的人数为3人。数中输入。1onginte=0,t=0;inti:for(1=1;i£=n;i+)+=t+d:z=z+t;d=l*10;retur口s;24、编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。intit;fori=0;i<ri/£卄十)t=arri:arr:,i1=airn11;ari'Ln-1-i=t;25、对长

11、度为8个字符的字符串,将8个字符按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECAinti,.i;chajrt;£&rE=Cl;iGum;计”£<rQj=i+1;j<ikum:'+126、根据整型参数n,计算如图公式的值。floata=1:int1:for(i=l;理;i卄)a=1.0/Cl+alreturna.;27、键盘上输入一个3行3列矩阵的各个元素的值(为整数)然后输出主对角线元素的积,并在fun()函数中输出。1Tl+ElUTi:irLtL,j;zuri=l;for(L=0;i<3;i+)EiJJTEU

12、ITi+aE11;irL+i:ivs:Msx=array0;仇讥i二0;i<ci;i4+)11l.N=±k:辽ray1.IM:elk=i±-i-ayi;£iuTi=sujTi+!±t_rayi;ave=5TUTl/R;for(i=0;L<n;i-+)if(:ii-i-=iyi二二M竺iJ+-I-:retuiTL(awe);30、编写程序,实现矩阵(3行3列)的转置(即行列互换)intit:fur(i=0;i<3;i+)for'<jO;jIi;j+.)-t=ari-ar:j;ari暫i=arrayjl:arrayjHi=t;

13、31、用函数实现字符串的复制,不允许用strcpy()函数。Int;,for(i=O:EtrliA0;:i+)EtrZi=Etrli-mt诈门二'鑒;32、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。请编写fun函数。1ntmin,i:bmin=ft0:Eor(i=l:i<ii:i+)if(xi<Jrin.)min.=Jij:returnmin,33、用do-while语句求1100的累计和答案:in.ti=bsum=0;d.osum=Mum+i;while:.n);returnzuni:34、编写函数求1100中奇数的平方和

14、。结果为166650flcate=0:inti_,:fcrg;i4;i=i4却寧i;return;28、编写函数fun(str,i,n),从字符串str中删除第i个字符开始的连续n个字符(注意:str0代表字符串的第一个字符)。whileCs+ri+n-1j5trL-l=5tri+n-l;Etri-L=;0;:29、统计出若干个学生的平均成绩,最高分以及得最高分的人数。例如:输入10名学生的成绩分别为92,87,68,56,92,35、计算并输出给定整数的所有因子之积(包括自身)。规定这个整数的值不大于50。Longi;£':ri奄;i+):l£(JL%i=0E=E

15、5t:l;retm-口e;36、求1到100之间的偶数之积doubley=l:Int运二for(i=L;i富m;i十十Iif(i%2=0=i;returny;1-1/2+1/3-1/4+1/mfleat£=;int:for(i=l:i£=n;£+)As+k*1.0?.i;k=-k;return(s):38、产生20个30,120上的随机整数放入二维数组a中,求其中的最小值。intij;士;5=a0S:£叶(j=0;血;+returnm渥39、能计算从1开始到n的自然数的和,n由键盘输入,并在main()函数中输出。inteujti.i:sum=0;tur

16、(i=l;i<=n;i+)Euni=Eiim+i:厂EtliriL(SUJTl);当N为偶第三行i=2i=i+2第四行i*i41、计算出k以内最大的10个能被13或17整除的自然数之和。(k3000)inta=0b=0,j;if(i:k%13=0)11:M1T=O)a=a.+L;b+;V-;Y5tUiTLQ:42、判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。intk,m;dow=w/10:*hiler!-0l;i£(s-0)k=l;elseMO;return(k);43、从低位开始取出长整型变量s奇数位上的数,依次构成一个新数放在t中。个数。

17、intn=0:imtis:,:forG=lim;1-100;i44jECJ氓磁,:j+幻"if.£i%j=Oj'break;retiirnn;45、求一批数中最大值和最小值的差inti仃1晦nin;m:辽二min二且l:fg饋岳i+j11lai几&匚.1itielk二a1;亡Lu世ifCti<inin)rTiiri.=:k£:如为积将-改*46、求出菲波那契数列的前一项与后一项之比的极限的近似值。例如:当误差为时,函数值为。j-ILtI,-.!;float£1=1,E2";-f3;ELoitrl:r2;daIrZrl;rl

18、=fl/£Z;£3=fl+£2;fl=f2;f2f3;returnrl:47、将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12,调用该函数后,c=2514。tca/lO+lOtlOO+b/iatlOTbl0*1000;答案;48、编写函数判断一个整数m的各位数字之和能否被7整除,可以被7整除则返回1,否则返回0。调用该函数找出100200之间满足条件的所有数。intk,e二Cl;dos=s-l-m%10;m=m/10:whi.L

19、e(jn!=07?i訓T=D)姑1;elsek=0;例如:当s中的数为:7654321时,t中的数为:7531。Longsl=10:t>s'&10;whiltG舟:Mls=z/100;七=s%lOsl+i;si-£1<.10;49、判断m是否为素数inti,k=l:i.怖1k=0;fciri=£ii+jif(n)%ii=0k=0;returnk,如果为642,在第二行加,s/=10;44、求大于lim(lim小于100的整数)并且小于100的所50、给定n个数据,求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。returnCk

20、):inti.k;k二匚I;for<i=lii4i;1+)lF(“订伞k)k=r;return(kj:51、求出二维数组周边元素之和,作为函数值返回。二维数组的值在主函数中赋予。inte=0:inti,j.for<(i=0;iOfl;i十十寛S=S+LiO+ailI-L;£g(jJ;<Fl;j+L,E-.s+atOjJ+aLM-lHj1:returne;52、编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。intk;k=*a:*a=*t;*b=k;53、编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。调

21、用该函数求出15300之间能同时被3和5整除的数的个数。正(品=伽鹏乂”,retu2-na);return0瞪54、编写函数fun,求任一整数m的n次方Longinti二1:inti;forii-1:i枣it;it+)return-x;55、从键盘输入一个大于3的整数,调用函数fun判断其是否素数,然后在main函数中输出相应的结论信息。例如:7是素数,8不是素数。请编写fun函数。素数是仅能被1和自身整除的数inti:intj;jzi;老;i£(ni=0:=0:returnj;56、用辗转相除法求两个整数的最大公约数intr,t:ift=n:rL=rri;m=t;r=rLi?(Ti

22、;whi1e(r!=0)rL=m;m=r;畑;retm-iL(jn);57、求一批数中小于平均值的数的个数ioubley-1:inti;for'Xi=l;i.=in;i+lif-(iV=0y*=i;returny;58、编写函数用选择排序法对数组中的数据进行从小到大的排序。i比£:fori卄点g;for(j=i+l:J:j+if(ak>-&EjJk=j:址Ck!=f)t=dil:a.i:4®ft;59、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。intmin,i;rriiiFsEij;forEdSM)i&

23、#163;GtiGnnmin=xi;re+uiTLrTii-n:60、将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用'.'结束输入i£°1)return1:if(statusfeA*c(=t勉a/)Lu亡-"一-J;return0;61、编写函数fun求1!+2!+3!+n!的和,在main函数中由键盘输入n值,并输出运算结果。请编写fun函数。例如:若n值为5,则结果为153inti:flwtf=l?5=0,forti=l;i'-ii:i十十1£=E*i;s=h+£;returns:

24、62、根据整型形参m,计算如下公式的值:y=sin(m)*10。例如:若m=9,则应输出:doiitle尸0;y=Ein(irJ*10;rturn取):63、求一个大于10的n位整数的后n-1位的数,并作为函数值返回。intn=0:inti=L:n.=n+i*(wWLO);w/=10;i玉二10:returnn:64、求给定正整数m以内的素数之和。例如:当m=20时,函数值为77。intiJk,e=0:forCiZ;i;i+tj、ifcrCk=£kKi;k+Ji£(k=i)s+i;returns:65、求给定正整数n以内的素数之积°(n<28)|答案:Lon

25、g匚叱Longe=1;for(iFZ;i烁it;fortk=2;k<i;ld-4)i£(iif(k=ii)r.iziKi:IretuiTis;70、编写函数fun计算下列分段函数的值:xA2+x+6x<0且xM-3f(x)=xA2-5x+60Wx<10且x#2及x#3xA2-x-1其它”答案:floaty;ifGt进处k!=-3.0)产还+u+B;else】£(k>=0MK<10.0酿x!=2.oMx!=3.0)y=w*ji-5*K-l-6:elsey=x>(!x-K:-l:returny;f1=f2;for(j=i-1;j<=I;

26、j+)strcat函数。intij:forti=0;cli!=JF;i卄;EG=D;j!JW;j卄)cli+j-c2j:"】+二'灯:71、用函数将第2个串连接到第1个串之后,不允许使用66、求一个给定字符串中的字母的个数。答案j一右匸宀亍十厂intJkO;Eor(i=0;ei!'0;:i+ifa;姬mi痊'i;丘'XT!yM+;returnk;72、求一组数中大于平均值的数的个数。68、编写程序,求矩阵(3行3列)与2的乘积例如:输入下面的矩阵:100200300400500600700800900程序输出:20040060080010001200例

27、如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。intl,k=0;float5=0_,ave:±or(i=0;i<n;i44)ave=s/n;printf,aveV;for(i=0;14;144)ave)H+;fetiirnk;73、编写函数用冒泡排序法对数组中的数据进行从小到140016001800答秦;亠亠亠inti,j;£or.(i=0;i'<3;144)Ecr(j=0:.<3tj+)arrayEij=arrayij磋69、编写函数fun用比较法对主程序中用户输入的具有10个数据的数组a按由大到小排序,并在主

28、程序中输出排序结果。答案:7-intk,j,t:for(k=O;k<irl;ld-hiforiE(arrayklayEj)I”,''t=arrayk;array:=arrayI;ari雪j二t:大的排序。inti,_.t:For(i=D;i蠡1:i十十込f朗G=D;j3L-i;j+)t=ajl:aj-aEj+12aj+l=t;74、将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。例如:当a=45,b=12。调用该函数后,c=4251。&'i/10

29、+1000+ai0+10+b/10+bl0+100:75、对某一正数的值保留2位小数,并对第三位进行四舍五入。inti;iUnt)(hlOOOlO;re(intJ-(It*100+1)/100.0;elretwrk(int)Ch*10DVl00.0:f2=f3;s=s=f2/f1;returns;83功能:从键盘上输入任意实数,求出其所对应的函数值。79、找出一个大于给定整数且紧随这个整数的素数,并z=e的x次幕(x>10)作为函数值返回。inti-jk;forCi=n4-1;ji-P+)forO=2.;ki;W-+)ifti%k=0ibraale;i£(kF=i)re七urn

30、(1);z=log(x+3)(x>-3)z=sin(x)/(cos(x)+4)答案:doublez;lf(x>10)z=log(x+3)elseif(x>-3)z=log(x+3);elsez=sin(x)/(cos(x)+4);80、用函数求fibonacci数列前n项的和。return(z);说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项和。例如:当n=28时,运行结果:832039lsiigf,JFfl+fE;intl;for(i=3:i<=28:i+)f=fl+f2;£1=£2f2=f;return.隹);84题目:用函数求一个N

温馨提示

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

评论

0/150

提交评论