东北大学C语言考试题库及答案.docx

上传人:夺命阿水 文档编号:932421 上传时间:2024-01-18 格式:DOCX 页数:45 大小:135.95KB
返回 下载 相关 举报
东北大学C语言考试题库及答案.docx_第1页
第1页 / 共45页
东北大学C语言考试题库及答案.docx_第2页
第2页 / 共45页
东北大学C语言考试题库及答案.docx_第3页
第3页 / 共45页
东北大学C语言考试题库及答案.docx_第4页
第4页 / 共45页
东北大学C语言考试题库及答案.docx_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《东北大学C语言考试题库及答案.docx》由会员分享,可在线阅读,更多相关《东北大学C语言考试题库及答案.docx(45页珍藏版)》请在课桌文档上搜索。

1、东北大学C语言考试题库及答案作者:日期:题目:根据下面的函数关系,对输入的每个X值,计算出相应的y值并输出结果。O当/O时y=*X当O10时5题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END.(可选用switch语句编写)6题目:编写程序将用户输入的字母进行大小写转换。7题目:编程判断输入的正整数是否即是5的倍数又是7的倍数.若是则输出该数;否则输出一1。8题目:输入一个整数,判断它是奇数还是偶数并输出。9题目:从键盘输入二个整数a、b,将其按大到小排列.10题目:找出不超过IooO的十位数字为1,个位数字为3或7的所有数。例如:13、17、113、317等

2、。11题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个整除;(4)不能被3,5,7任一个整除.12题目:输入一个5位的正整数,判定该正整数是否为一个回文数。(所谓回文素数是指正读和反读都相同的数,例如12321)。13题目:假设变量a、b、C为整数,从键盘读入a、b、C的值,当a为1时显示b与C之和,a为2时显示b与C之差,a为3时显示b与C之积,a为4时显示b/c之商,其他数值不做任何操作.14题目:输入一个整数,将其数值按小于10,1099,100-999,100O

3、以上分类并显示(例如:输入358lt,显示358is100to999)。15题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。16题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形.输出三角形的类型(等边、等腰、直角、一般)。ax2+x+C=O17题目:计算二次方程的根。18题目:给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。19题目:从键盘输入三个整数a、b、c,输出其中最大的数.20题目:从键盘输入三个整数a、b、c,将其按大到小排列.21题目:从键盘输入一个百分制成绩,将其转换为等级A、B、C

4、、D、E后输出成绩。转换规则为:90分以上为7V;8089分为B;7079分为C;6069分为D;60分以下为E。22题目:某运输公司规定路程越远,每公里运费越低,对用户计算运费标准如下:1)当S250km时,没有折扣:2)当250S15最小的N值并输出.61题目:从键盘输入n值,输出如下所示的图形。*女*62题目:计算下列算式的值:IlllC = 1 + + A I:i1X X XX10050101k +k*k+k二 1k= 1 k=l k1)直到某一项的值小于0.000001时为止.输出最 后C的值。63题目:计算并输出下面算式的结果值:64题目:编写程序,读入一个整数N;若N为非负数,则

5、计算并输出N到2xN之间的整数和;若N为一个负数,则计算并输出2xN到N之间的整数和65题目:一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被17除余4,.所得的商被17除余15,最后得到个商是a的2倍.编写程序求这个自然数。66题目:验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和.67题目:利用1、2、3、4个数字,可以组成多少个互不相同且无重复数字的三位数?都是多少?输出计算结果。68题目:如果-个整数加上100后是个完全平方数,再加上168又是个完全平方数,输出该数是多少(提示在1000内判断,可利

6、用开平方函数)。69题目:输出9*9口诀。70题目:将个正整数分解质因数(例如输入90,打印出90=2*3*3*5).71题目:输入一个星期中的英文字母以此判断是星期几,如果第一个字母一样,则继续判断第二个字母。72题目:计算并输出555555的约数中最大的三位数。73题目:从键盘输入任意的字符,按下列规则进行分类计数。第一类(U,1,2,3,4,5,6,7,8,9:第二类*,7,%,=);第三类其它字符;当输入字符V时先计数,然后停止接收输入,输出计数的结果。74题目:对从键盘上输入的行、单词和字符进行计数,当输入CTRL+D时表示文件输入结束,停止计数(提示:单词的定义进为单词是不包含空格

7、、制表符(t)及换行符的字符序列。例如:a+b+c”,认为是1个单词,它由5个字符组成.又如:XyabC,为2个单词,6个字符。一般用CTRL+D作为文件结束标记,其字符码值为-1)。75题目:编写程序计尊当X=Oo5时下述级数和的近似值,使其误差小于某一指定的值epsilon(例如:55TXXXepsilon=0o000l):X-+-+3*L5*2!7+3!76题目:计算并输出下列多项式的结果值。Illl11+一+一+一+1X22X33X44X5MX(N+1)要求最后一项小于OoOOl时、或者当N=20时尚未达到精度要求,则停止计算。77题目:已知求正弦Sin(X)的近似值的多项式公式为:s

8、n(x) = X+3! 5! 7!4LX+ (-1)+ (2n+l) 1从键盘输入X和,计算Sin(X) 的近似值,要求计算的误差 小于给定的78题目:利用循环语句实现输入一个正整数,要求以相反的顺序输出该数(例如输入12345,输出位54321).79题目:求解爱因斯坦数学题)有一条长阶梯,若每步跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好阶不剩。计算并输出这条阶梯共有多少阶.80题目:采用割圆法求出TT的值,要求精确到小数点之后的第十位(提示:中国古代科学家祖冲之采用正多边形逼近的割圆法求出了的值.即做圆

9、的内接4边形,从圆心和4边形顶点连接形成4个三角形,可以求出每个三角形的面积。2/2)现在我们知道三角形的面积和两个边长(均为半径a=r,b=r),可以用公式:S=S(s-a)(sb)(S-C)求出第三边co我们将内接4边形换为内接8边形,原来的三角形被一分为二,故c/2就是每个三角形的高,面积又是可以求出的。再将三角形一分为二当三角形的面积求出时,内接多边形的面积就可求出81题目:A、8、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的条鱼扔掠,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,

10、拿走自己的一份.C、D、E依次醒来,也按同样的方法拿鱼.计算并输出他们合伙至少捕了多少条鱼。82题目:一辆卡车违犯交通规则,撞人逃跑.现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的:乙说:牌照的后两位数字是相同的:丙是位数学家,丙说:四位的车号刚好是一个整数的平方。根据以上线索分析并求解出车号。83题目:若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,每次从中任取8个球,请求解并输出共有多少种不同的颜色搭配。84题目:假设100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担.请计算并输出大、中、小马的数目。85题目:输出用

11、一元人民币兑换成1分、2分和5分硬币的不同兑换方法.86题目:输出200以内的完全平方数和它们的个数(提示:完全平方数是指满足体检A2+B2=C2的A、B、C)87题目:设N是一个四位数,它的9倍恰好是其反序数(例如123的反序数是321),计尊并输出N的值。88题目:求解F式中各字母所代表的数字。PEAR-ARAPEA89题目:一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,计算这个三位数。90题目:如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲

12、密数。计算3000以内的全部亲密数91题目:(猜数游戏)由计算机想一个数请人猜,如果人猜对了,则结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。计算机记录人猜的次数,以此可以反映出猜数者猜的水平。92题目:计算IOo0!后有多少个零.93题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1题目:根据下面的函数关系,对输入的每个X值,计算出相应的y值并输出结果。O当方Wo时y=10时ftinclude#includemain()floatx,y;printf(,enter

13、x:nM);scanf(%f,&x);if(x=O)y=o;elseif(x=10)y=;elsey=0.5+sin(x);printff,x=%f,y=%fn”,x,y);)2题目:输入一个整数,当为65时显示A,66时显示B,68时显示C,其他值时显示END.(可选用SWitCh语句编写)# includemain()intX;printf(*enterx:n);scanf(w%d,x);if(x=65)Printf(x=%d,show%cn,x);elseif(x=66)printf(,x=%d,ShoW%cn,x,x);elseif(x=67)printf(x=%d,show%cn,x

14、,x);elsePrintf(x=%d,showENDn,x);)3题目:编写程序将用户输入的字母进行大小写转换# include=a&x=,A,&x=,Z)y=x+32;printf(,x=%c,y=%cn”,x,y);4题目:输入一个整数,判断它是奇数还是偶数并输出.includestdio.h)main()(intx;printf(,n请输入一个整数:);SCanfV%d,&x);if(x%2=0)printf(”d曷嬲x);elseprintf(,%(1是奇数。”6);15题目:从键盘输入二个整数a、b,将其按大到小排列.# includestdio.h)main()inta,b,te

15、mp;printf(请输入两个整数:n”);SCan隼%d,&b);if(ab)temp=a;a=b;b=temp;printf(%d,%d,%dn”,a,b);6题目:从键盘输入三个整数a、b、c,将其按大到小排列。# includemain()inta,b,c,temp;scanf(%d,%d,%d”,&a,&b,&c);if(ab)temp=a;a=b;b=tcmp;if(a(c)temp=a;a=c;c=temp;)if(bb)if(ac)max=a;elseif(b)c)max=b;elsemax=c;Printf(%dn,max);)8题目:找出不超过IOoO的十位数字为L个位数字

16、为3或7的所有数。例如:13、17、113、317等。# includcmain()intx,a,b,c;printf(enteranumber(1000):n);SCanf(%d,&x);a=x100;b=x%10010;c=x%10;if(b=1)if(c=3Ic=7)PrintR“thenumberis%dn,x);printf(,endn,*);9题目:输入一个整数,判断该数是否能被3,5,7整除,并输出以下信息之一:(1)能同时被3,5,7整除;(2)能被其中两数(要指出哪两个)整除;(3)被其中一个数(要指出哪一个)整除;不能被3,5,7任一个整除。#includemain()in

17、ta,b;a=0;printf(uEnternumber:M);SCanfc4%d”,&b);if(b%3=0)a+;if(b%5=O)a+:if(b%7=0)a+;if(a=O)printf(wnThenumberwhichcanbedividedexactlybynone11);jf(a=1)printf(nThenumberwhichcanbedividedexactlybyonenn);if(a=2)printf(,nThenumberwhichcanbedividedexactlybytwonf,);if(a=3)printf(,nThenumberwhichcanbedivided

18、exactlybyalln);getchar();IO题目:输入一个5位的正整数,判定该正整数是否为一个回文数。(所谓回文素数是指正读和反读都相同的数,例如12321)main()longgzs,q,w,;scanf(,%ld,x);w=x10000:q=x%100001000;s=x%100/10;g=%10;if(g=w&s=q)/*个位等于万位并且十位等于千位*/printf(%disahuiwenn,x);elseprintf(%disnotahuiwenn);)11题目:假设变量a、b、C为整数,从键盘读入a、b、C的值,当a为1时显示b与C之和,a为2时显示b与C之差,a为3时显示

19、b与C之积,a为4时显示b/c之商,其他数值不做任何操作。#includemain()inta,b,c,result;printf(uenterx:n);scanf(u%d%d%d,j&a,&b,&c);switch(a)case1:result=b+c;Break;case 2: result=b-c;Break;case 3: result=b*c;Break:case 4: result=bc;Break;default:Break;)printf(wa=%dtresult=%dna,result):?)12题目:输入一个整数,将其数值按小于10,1099,100999,100O以上分类

20、并显示(例如:输入358时,显示358is100to999)。#includemain()intn;scanf(M%d,&n);if(n0)printf(l,%dis10n,n);elseif(n)=10&n=99)printf(*4%dis10to99nn,n);elseif(n)=100&n=1000)printf(*%dis=1000n,n);)13题目:从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的面积。#includemathohmain()intflag=O;floatazbc,s;printf(Pleaseenterabc:);scanfC%f%f%f;

21、&a,&b,&c);if(ab+c&ba+c&c)a+b)s=(a+b+c)/2;s=sqrt(sa)*(s-b)*(s-c);printf(,area=%n,s);elseprintf(notnn);)14从键盘读入三角形三边,判断能否组成三角形,若可以组成三角形,输出三角形的类型(等边、等腰、直角、一般).#includemathohnmain()intflag=O;floata,b,c,s;rintf(Pleaseenterabc:w);scanf(%f%f%,&a,&b,&c);if(ab+c&ba+c&c)a+b)if(a=b8tb=c)printf(ueqaltriangle,);

22、elseif(a=bIIb=cIa=c)printf(14eqaltriangle);elsePrintf(triangle);elseprintf(notnM);)ax2+6r+c=015题目:计算二次方程的根。#includemath。hmain()floata,b,c,d,disc,xl,x2,realpart,imagpart;scanf(%f,%f,%,&a,&b,&c):printf(uTheequation);?if(fabs(a)=le-6)printf(isnotaquadratic);elsedisc=b*b-4*a*c;if(fabs(disc)le6)xl=(b+sqr

23、t(disc)/2*a;2=(-b-sqrt(disc)2*a;printf(uhasdistinctrealroots:%and%n,x1,x2);)elserealpart=b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(t,hascomplexroots:n);Printf(%8o4f+%8.4fin,realpartjmagpart);printf(,%8o4fin,realpart,imagpart);)16题目:给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字.main()longa,b,c,d,e,x

24、;scanf(%Id”,&x);a=10000;/*分解出万位*/b=x%lOOOOlOOO;/*分解出千位*c=x%1000IO0;/*分解出百位*/d=x%10010;/火分解出十位*e=x%10;/*分解出个位*/if(a!=0)printfCthereareS,%ld%ld%Id%ld%ldnzezdzc,b,a);elseif(b!=0)printf(thereare4z%ld%Id%ld%ldnze,d,c,b);elseif(c!=0)printf(thereare3,%ld%Id%ldnn,e,d,c);elseif(d!=0)printf(,thereare21%ld%ldn

25、,e,d):elseif(e!=0)printf(thereare1,%ldn”,e);)17题目:从键盘输入一个百分制成绩,将其转换为等级A旧;CE,后输出成绩。转换规则为:90分以上为TV;8089分为B;7079分为C;6069分为D,;60分以下为E.main()intnumberzmd;charcl;scanf(%d,umber);md=number10:switch(md)case10:case9:cl=A;break;case8:d=,B,;break;case7:d-C,break;case6:d=,D,;break;case5:case4:case3:case2:case 1

26、:case0:c1=Ebreak;)Printf(%cr,cl);)18题目:某运输公司规定路程越远,每公里运费越低,对用户计算运费标准如下:1)当SV250km时,没有折扣;2)当250SV500时,折扣为2%;3)当500MSVWoo时,折扣为5%;4)当IoOOoWSV2000,折扣为8%;5)当2000S,折扣为10%。从键盘输入路程和货物重量,计算并输出相应的运费。main()intc,s;floatp,w,d,f:SCanf(%f,%f,%d”,&p,&w,&s);if(s=2000)c=10;elsec=s250;switch(c)caseO:d=O;break;casel:d=

27、2;break;case 2:case3:d=5;break;case4:case5:case6:case7:d=8;break;case 8: d=10:break;)f=p*w*s*(l-d100o0);printf(/freight=%,f);)19题目:某企业利润提成的规则如下:1)利润低于或等于10万元的,可提成奖金10;2)利润高于10万元,低于20万元时,低于10万元的部分按10提成,另外部分可以提成7.5%;3)利润高于20万低于40万元的,其中20万元按前面的方法发放,另外的部分按5%提成;4)利润高于40万元的,40万元按前面的方法提成,高于部分按3%提成。从键盘输入利润,

28、输出应发的提成。解法一:#include,stdio.hmain()intpf;float?pr;Printf(n请输入利润总数(单位:万元):”);SCanf(d,&pf);if(pf=10)Pr=Pf*0.10;elseif(pf20)pr=10*0.10+(pf10)*0.075;elseif(pf40)Pr=Io*0.10+10*0。075+(pf20)*0.05;elsepr=10*0.10+10*0.075+20*0.05+(pf-40)*0.03;Printf(n应发的奖金是:f万元;pr);解法二/火用switch语句*/#includeustdiohmain()intpf;f

29、loat?pr;Printf(n请输入利润总数(单位:万元):);SCanfpf);switch(pf10)case0:pr=pf*0.10;break;easel:pr=10*0.10+(pf10)*0。075;break;case2:case3:pr=10*0.10+10*0。075+(pf-20)*0.05;break;default:Pr=Io*0。10+10*0。075+20*0.05+(pf40)*0.03;Printf(n应发的奖金是:f万元。”,pr);)20题目:已知银行整存整取存款不同期限的月息利率分别为0315%期限一年;0。330%期限二年;月息利率=0.345%期限三

30、年;0.375%期限五年;Oo420%期限八年.要求输入存钱的本金和期限,计算到期时能从银行得到的利息与本金的合计。#includemain()intyear;floatmoney,rate,total;*money:本金rate:月利率total:本利合计*/printf(,lnputmoneyandyear=?);SCanf(%f%d,&money,&year);*输入本金和存款年限*/if(year=l)rate=O.00315;*根据年限确定利率*/elseif(year=2)rate=o00330;elseif(year=3)rate=0.00345;elseif(year=5)ra

31、te=0o00375:elseif(year=8)rate=O.00420:elserate=0o0;total=money+money*rate*12*year;*计算到期的本利合计文/printf(Total=%。2fr,total);)21题目:利用SWitCh语句完成两个浮点数的四则运算(数与运算符又键盘给人)。MndudevstdiOohmain()floata,b;charc;printf(npleaseinputnum:n);SCanf(%f%f,&a&b);printf(wpleaseinput,*-,*,t:);SCanf(n%c,&c);switch(c)case*+*:P

32、rintf(%。0f+%.0f=%02f,a,b,a+b);break;C3S,:printf(%.0f-%o0f=%.2f,a,b,ab);break;casePrintf(%.Of*%。0f=%.2f,a,b,a*b);break;case7,Jf(b!=0)printf(“。0f%.0f=%.2f,a,b,ab);break;default:printf(n?n);)getchar();)22题目:利用键盘输入某年某月某日,判断并输出这一天是这一年的第几天.#includemath.hn#includemain()intdaymonth,year,sum,leap;printf(nple

33、aseinputyear,month,dayn);scant(%d,%d,%d”,&year,&month,&day);switch(month)*先计算某月以前月份的总天数*/case1:sum=0;break;case2:sum=31;break;case3:SUm=59;break;case4:sum=90;break;case5:sum=120;break;case6:sum=151;break;case7:sum=181;break;case8:sum=212;break;case9:sum=243;break;casel0:sum=273;break;case11:sum=304;

34、break;case12:sum=334;break;default:printf(,dataerror*);break;sum=sum+day;*再加上某天的天数*/if(year%400=0I(year%4=0&year%100!=0)Ieap=I;/*闰年*/elseIeap=O;if(leap=l&month2)sum+;/*如果是闰年且月份大于2,总天数应该加一天*/print%isthe%dthday.,sum);)23题目:输入年份year和月month,计算该月有多少天(提示:需要判断是否为闰年)。#includemain()intyear,month,days;printf(

35、,Enteryearandmonth:);SCanf(%d%d,&year,&month);switch(month)case1:case3:case5:case7:case8:case10:case12:days=31;break;*处理大月*/case4:case6:case 9:case11:days=30;break;/*处理”小“月*/case2:if(year%4=0&year%100!=0Iyear%400=0)days=29:*处理闰年平月/elsedays=28;*处理不是闰年平月*/break:default:printf(,lnputerror!nw);*月份错误*/days=O:)if(days!=0)printf(%d,%dis%ddaysn,year,month,days);)24题目:利用公式41-l3+l5-l7+l9计算的近似值,当最后一项的绝对值小于106为止

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号