C语言-中国石油大学(华东)c语言上机题.docx

上传人:李司机 文档编号:7214058 上传时间:2024-06-29 格式:DOCX 页数:43 大小:165.37KB
返回 下载 相关 举报
C语言-中国石油大学(华东)c语言上机题.docx_第1页
第1页 / 共43页
C语言-中国石油大学(华东)c语言上机题.docx_第2页
第2页 / 共43页
C语言-中国石油大学(华东)c语言上机题.docx_第3页
第3页 / 共43页
C语言-中国石油大学(华东)c语言上机题.docx_第4页
第4页 / 共43页
C语言-中国石油大学(华东)c语言上机题.docx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《C语言-中国石油大学(华东)c语言上机题.docx》由会员分享,可在线阅读,更多相关《C语言-中国石油大学(华东)c语言上机题.docx(43页珍藏版)》请在三一办公上搜索。

1、1.1 Helloworld.让我们用C语言向世界问好.最早的程序善本是这个样子的,#includevoidmain()(PrintfrHeHoWOrld.n“);)S-#includeIntmain()(printff,Helloworid.n);returnO;)上面的程序你仿照一个,着是否可以通过?偎如你能通过这个倚洁的程序,那就让我们接着完成后面的习题电入:无tthHelloworld.tfincludeintmain()(printf(,Helloworid.11);1.2 WelcometoBeijing.让我的来练习如何显示多行文字.入,无出,就是下面的那段文字.#indudev

2、oidmain()printf(Welcomen);printf(*,ton*);printf(,Beijing.nn);1.3 修习量面治的PrlntfscanfPrintf的数和scanf的数是C语Ir中常用的函数之一,下面让我们练习一下一.入,整型交量X的值.出,出整型变量X对应的十进制、AM制和十六进制形式.细度视察1的八进制和十六进制,出,请想想是为什么.Mincludeintmain()int;SCanfE%d,&x);printf(*x=%dx);PrintfrX=%oj,x);printf(*x=%xn,x);returnO;1.4 球习两个期ft之间的运算IMb基本练习.入I

3、接受两个整数,每个整数之间运用空格分隔.例如,入格式为,123444出分别出进行+、/、之后的运行结果.#indudeintmain()(intWscanf(,%d%d,8x);printfC%d+%d=%dn,xry,xy);printf(*,%d-%d=%dn-rx,x-y);printf(%d0%d=%dn,xry,xy);printf(*%d/%d=%dnM,x,y,x/y);printfC%d%d三%dn,x,y,x%y);returnO;)1.5 学习打印你的第一个图形背景,我们已经学习了Printf的数,这里给出了一个小程序,它运行的结果是出一个由星号(*)坦成的4*4的正方形.

4、程序如下:includeintmaln()(printf(,n-);PrImfrn);Printf(,*r);printf(,n,);return0;)要求,依据上面的程序范例,写一个小程序,求出的是4行由*号坦成的等腰三角形.入,无.出:指定图形.#includeintmain()(printf(*n);prlntf(*n);printf(*n);printf(4n);return0;2.1 整型数的表示范玛写一个Ii环程序,*入N值,出N的阶集关于很坏程序怎么一耳,可以参考效材第3章P66页的例4.2和第5章P82的例5.1的内容.留意整SI数的表示低B1.假如当,入的N比较大时,例如N等

5、于20时,出怎么是负数了?自己想明白0*lndudevoidmain()intN,i;intSUm=1;N=2;Scanfc%d,&N);lf(N=16)for(i=l;i三17)prlntf(Nistoobiglna,);2.2 求正弦函数值已知求正弦sin(x)的近似值的多项式公式为,sin(x)=X-x33l+x55!x77l+.(-l)nx2n+l(2n*l)!写程序.要求*入X(单位是5WD和c,按上述公式计算sin(x)的近似值,要求计算的娱差小于给定的e此题当般用到循环语句,到第5章去找个着来照着名.循环的终止条件就是本次计第出来的正弦由数值和上次计算的值的差小于给定的.求两个值

6、的差时,央求出其肯定值,运用庠的数fabs(),头文件在math.h里友情提示:给定的误差值趋小,计算的精度越育,但是要宙意嘤,给的精度太离,你的程序会成为死循环IR如出现死循环的状况,可以用Ctrx健遢出程序.Mindude.hffincludeintmain()floatx,eps,s,y=O,yO,t;intn,j;scanf(%f%f,&x,&eps);n=t=j=l;s三x;doyo=y;if(n%2三三0)y三y-st;elsey=y+st;sw=x*x;f=Ul)U2);H=2;n+;while(fabs(y-y)eps);printf(,%fn,sln(x);SyStem(PA

7、USE);return0;2.3推断,入的字符的类型我们招字符分为五类I大写字母、小耳字母、数字、限制字符、其他字符.写程序,从健盘入一个字符,出字符所属的类型:大写字母时,出capitalletters,小写字母时出smallletters9数字是出figures,其他字符时出others.#indudevoidmain()(chare;c三getchar();If(c=0,&c三,A,&c三,a&c三,z,)1.1 ntf(smalllettersn11);elseprintf(,othersn,);1.2 找零钱假定有5角、1角、S分、2分和1分共5#硬币,在给1客找硬币时,一般都会尽可

8、能地选用硬币个数小的方法.例如,当要蛤某Ji客找7角2分嫉时,会给他一个5角,2个1角和1个2分的硬币.试编写一个程序,,入的是要找给餐客的零钱(以分为单位),出的是应当找回的各科硬币数目,井保证找回的硬币数少.#includeintmaln()(intxlrx2,3fx4r5;intx;SCanfr%d,ftx);xl=x50;x2=x%5010;x3=x%50%105;4=x%50%10%52;x5=x%50%10%5%2l;printf(n%dnl);printf(%dn,x2);printfC,%dn,x3);printf(,%dn,4);Printfr%dn%5);return0;)

9、1.3 计算时*的夹角IM1.A面上的时针和分钟之间的夹角总是在0度359度之间.举例来说,在十二点的时候两针之间的夹角为0度,而在六点的时候夹角为180X,在三点的时候为90度.本要解决的是计算0:00到12:00之间意一个时闾的夹角.入:每坦浦试数据包含两个数字:第一个数字代表小时(大于等于0小于12),其次个数字代裳分(在区闾0,59上).出,对应每蛆制试触h用常用格式显示时闾以及这个时候时针和分钟间的量小夹角,精现到小效点后一位.友情提示以表中心到12点的连线为基痕,分钟每定1分曾是6度,时针与基准的夹角每个小时也是30度,从整点起先,每过1分停时钟再,加0.5度.提示:时*夹角计算公

10、式5.5m-30h,h为时针,m为分钟.求浮点也肯定值的函数为fabs,须要包含math.h头文件Mindudestdio.hMindudemath.hintmain()(inth,m;doubleangle;Seanfrangle=fabs(5.5*m-30*h);if(angle180)angle=360-angle;printf(,At%d:%02dtheangleis%.lfdegrees.11,hm,angle);1.4 三afl三t计算黑柱的值面积及体积假如已知国柱的底面半径r,以及育h,胃可计算出柱的例面积S=Zxrh,体积V=XCh其中=3.1415926入第一行入柱的底面半径

11、r其次行入柱的商h出$=,v=要求1.全部交量都定义为双精度类型1.1 果H确到小数点后两位Mindudestdio.hWdefinen3.1415926intmain()(floatr,h,s,v;printf;scanf(%f%r,&r,&h);s=2n*rh;v三n*rrh;printf(s=%6.2f,v=%6.2n,s,v);)3.4 分别粤数意从的t上入一个三位正整JR,要求正地分别出它的个位、十位和百位,井分别在屏*上出比如入的三位正整数includestdio.hintmain()int“,hundreds,tens,units;printf;scanf(,%d-x);hund

12、reds三x100;tens=x%10010;units=x%100%10;printf(aunits=%drtens=%d,hundreds=%dnrunitsftensrhundreds);3.5 篇免同笼已知笼中有头h个,有Bff条,付莞中聘免各有多少只?入:头和脚的数目出;兔子和购的数目(,出语句为,printf(rabbit=%d,chicken=%dfrabbitrcicken);)Sample入,1020出rQbbit=0,ChiCken;Ioincludestdio.h”Intmal()(intChiCken,rabbit,f,h;SCanfrrabbit=(f-2h)2;ch

13、icken=(4wh-f)2;printf(rabbit=%d,chicken=%dn,rabblt,chlcke);)4.1温度转换ir*常常出国旅行的掌友都知道,然要时时了解当地的,状况.但不少国家采的了不同的度计单位:有修运用华氏温度标今(F),有些运用撮氏魅度(C).现在,请你依据度转换公式设计一个温度转换程序,可以进行温度转换.假如入秦氏温度,显示转换的华氏油叟:假如输入华氏温度,转换的摄氏A换的公式为,F=(CX9/5)+32.C=(F-32)59I式中F卑氏GM氏温度.入,第一个数据(12)定转换的类型,华氏转蠢氏(1)援氏转华氏(2)其次个数存是相蚓要转换的温度值.出:相应的转

14、换后的温度值(保宙小数点后2位)includevoidmain()(Intb(;doublef,c;SCarrfr%,dx);if(lx=l)scanf(,%If);c=(f-32)*59;prlntf(TheCentigradeis%.2fn-rc);)else(scanf(-%tf,ftc);f=(c95)+32;prlntf(TheFahrenheitIs%.2fn-,f);)4.2分段函数有一分段函敷,y=f(x)当X小于6时,y=x-12当X大于等于6且小于15时.y=3x-l,当x大于等于15时,y=5x+9从也上,入一个整数X,出对应的y值.“includevoidmain()(

15、IntWSCanfr%d,M;if(6)y=-i2;elseif(x15)y=3-l;elsey三5x9;Printfr%dr,y);return0;)4.3瞰位数推新入一个不多于5位的正改,要求:(1)求它是几位数(2)速序打印出各位数字.#includeinclude#defineSIZE5intmain(void)(intbiJcount;位数longintinput.numft入敷intresultSIZE);存放各个位的数Inti;scanf(,%ld,&input.num);if(input.num99999)printf(,lnvalidinputn);exit;)for(blt

16、,count=0;lnput-num;+*bit-count)(resultbit_count三input_num%10;input-num三10;)printf(*%dn,bit-count);for(i三0;ibit_count;i)printf(-%d,result(iD;printf(n);eit(O);4.4四位数拆分入一个四位数,推断千位、百位、十位和个位数字之和是否为偶数,假如是,出Yes,假如不是,出Noi假如不是四位数,出Invaliddata.Mndudevoidmain()(intx,a,b,c,d,e;scanf(,%dx);if(xl0=l)printf(,lnval

17、iddatan);else(a=x10;b=x%l0100;c=x%1000%10010;d=x%1000%l%10;e=(a*b*cd)%2;if(e=O)printf(,Yesn,helseprlntf(Non);)4.5你的砍柒刀:推断三角形的形右要求:入三角型的三条边,推断三角形的形态.假设入的三边边长均0.入,三角里的3条边的长度(int三).一出t等边三角形iequilateraltriangle.等腰三角形BiaCeleStriangie.不构成三角形,non-triangle.一锻三角形:triangle.Mindudevoidmaln()(floata,b,c;SCanfri

18、f(a+bcbcaca入其他字符时原样出友情提示,整数之间运算的结果要取整,例如5/2的结果是2,而5.0/2.0对小数四合五人的结果就是3.0了所以入大写英文字母时的出要细致考虑Wincludeintmain()charch;inta;ch=getchar();if(ch=97&ch=65&ch=48&ch=57)ch三ch10ch;putchar(ch);elsePUtChar(Ch);Printfr);)4.7 推断某年某月的天数一年有365天.有的月份有31天,有的有30天.2月份闺年的时候是29天,非闺年的时候是28天.现在要求从盘上入一个年份和月份,出其对应的天敷.NincIUde

19、main()Intyearfmonthfdays;scanf(%d%d*,&year,&month);switch(month)case1:case3:caseS:case7:case8:case10:case12:days=31;break;case4:case6:case9:casell:days=30;break;case2Jf(year%4=0)&(year%100!=0)11(year%400=0)days=29;elsedays=28;)prlntf(%dn,days);4.8 花多少钱买衣IK周末商场促常院,某品牌原装既可以买套装,也可以买单件.若买的不少于50套,每套80元;不

20、足50套的每套9。元,只买上衣每件60元,只买子每条45元.耳程序,入安排购买的上衣三a和子的数量b,计算并出应当付的款m.includevoidmain()(Inta,b,y;scanf(%d%d,&a,&b);if(lx=a&b50)y=90,b+(a-b)60;if(b=50)y=80b*(a-b)60;lf(ab&a50)y=90*a*(b-a)45;if(a=50)y=80a+(b-a)*45;printf(,%dn-,y);4.9 到郎局去寄包袱你去邮属给挚友备礼物.发觉邮局对郎哥包袱的费用是这样规定的:假如包袱长宽高1米一个尺寸超过1米,或蜃超过30千克,不予郎Ih对可以Ie寄的

21、包袱每件收手球费0.2元,不同H的部费按下表计算:量(千克)收费标准元)小于100.80大于售于1。但不超过200.75大于答于2。但不超过300.70耳程序,入包粮的长、宽、高尺寸和出所需的贵(,出结果中包含两位小数即可),fl出尺寸或,的出“Err。产.#indudevoidmain()(floata,b,c,m,;SCanfrif(al11bl11ol11m30)printf(Errorn,);else(if(m10)y=0.80*m0.2;elseif(m20)y=0.75m*0.2;elsey=0.704m*0.2;printf(,%.2fn-fy);)4.10出星期几的英文表示入用

22、数字(17)表示的期几,,出星期几的英文表示,入的数字有囊,出单词Error(3车)”#indudevoidmain()(Inta;scanf(,%d,Aa);switch(int)(八))(casel:printf(HMondayn*);break;case2:printf(MTuesdayn);break;case3:prlntf(HWedne$daYne);break;case4:printf(ThursdaynM);break;case5:printf(MFridayn);break;case6:prlntf(HSaturdaynM);break;case7:printf(Sunday

23、n*);break;default:Printf1.ErTOrn);)5.1,出一行星号耳程序在一行中出N个星号.入,N值,出,一行中N个及号#includeintmain()(intnJ;scanf(,%d-rn);for(i三OJnji)putchar(*t,);putchar(,n,);return0;)5.2打印平行四边形入图形的商n和It字符c,出如下例(n=5,C=1A)所示的图形.ABCDEBCDEFCDEFGDEFGHEFGHI入:整数n例如5和某个字符例如A出,育为5和首字符A的平行四边形#indudevoidmain()intn,m,i,d;charp,t;SCanfr%d

24、,%c”,&n,&p);for(m=0;mn;m+)(for(i=OJmJ)(printf();for(d=0;dn;d+)(t=p+d+m;printf(%,t);)for(i=0;i0)出,打印相应的空心倒三角形.图样参见祓用例.includeWindudeintmain()inth,ij,k,m,n;scanf(%d,fih);if(hl)&(h%2!=0)(for(i=l;i=(24h-l);i*)(pri11tf(*);)printf(n);forj=l;j三(h-2);j+)(for(k=l;k=j;k+)(Printf);Printfr*)for(m=l;m=(2*h-3-2*j

25、);m+)(pri11tf();printf(*);PrgtfrVr);)for(n=l;n=(h-l);n*+)printf(J;)printf(11);)elseprintf(lnvalidinputn);returnO;选做5.4打印实心正方形5.1中你已短打印了一行号,这次在屏事上,出一个由星号旭成的n行n列的正方形.程序入11值,出如下例(n=4)所示的育和上底均为n的正方形:*拿牵include.hNincIUdeintmain()(inta三ltn,b;scanf(%drftn);while(a=n)(b=l;do(prntf(*);b+;)while(b=n);printf(n

26、);a+;return0;选做5.5空心字符菱形入:变量起始字母和菱形的充度.,出:金译试用例,打印空心的由字符蛆成的交形.#includeOincludeintmain()(charch;intn,a三l,b,c;scanf(%c%cT,&ch,&n);while(a=n)(b=l;While(b=2)(while(c=2*a-3)(Printfr);c+;)printf(%c,ch);Ch=Ch+1;printf(n);ai;a=l;Ch=Ch*2;while(a三n-l)(b=l;while(b=a)(Printfr);b+号)printf(%c,ch);c=l;if(a=n-2)(wh

27、ile(c=2n-2a-3)(PrirrtfC);c+;)PriIrtfr%c”,ch);)ch=chl;printf(n);a+;return0;选做5.6出f字母KWl入一个整数n.出图形K.如n=4时,出如下图形.#include/includeintmain()intn,i=lj;scanf(%d11);whlle(i=n-l)(j=uprlntf();while(j=n-i)(PrIntf();j*;)printf(n);i*;)printf(n);while(i=n-l)(j=i;Prw);while(j=i)(prntf();j+旬prlntf(*n);i+;return0;)逸

28、做5.7出X图形入11值,出下例(11=3)所示的图形;入,Sftn(例如3)出:如上BB所示X形图形Aindude.hMincludeIntmaln()(intnj三l,j,k;scanf(,%d-rftn);while(i=n-l)(J=I;WhiIe(K=Rl)PrintfC);Prlntff);k=l;while(kn-2i-l)(PrintfC);IC+;Printfr);J=I;Whlle(Jv=1.l)(PrintfC);)printf(11);1+;)i=l;while(i=n-l)(pr11tf();1+;PrintfC*);i=l;while(i=n-l)(pri11tf(

29、i+;printf(11);i=l;while(i=n-l)(J=I;while(j=nil)(Printfr);)Prlntfr);k=l;while(k=2i-l)(printf(k4+;pri11tf(*);J=While(j=nil)PrintfrJ+;)prlntf(11);i+;)returnO;选做5.8出图形程,入11值,出下例(11=5)所示的高为n的图形:Aindude.hincludeintmaln()(intn,i=l,j,k,;scanf(%d,&n);while(i三n-l)(J=l;while(j=i)(Prlntfj*;k=l;while(k=2-n-2i-l)

30、(printf();k+;1=1;while(l=i)(Prinw);1+;printf(n);il;while(i=24n-l)(PrintfC”);Printfrn);return0;逸做5.9个空心的梯形名程,入n,出如下例(11=5)所示的商和上底均为11的等腰空心梯形Aindudeincludeintmain()(intn,l=l,J,k;scanf(*%d);while(in)(J=I;while0;pri11tf(*);if(i=l)(for(k三l;k=n-2;k+)printf(-);elseif(i三Bn)(for(k=l;k=3*n4;k+)printf(-);)else

31、(for(k=l;k=n+2,l4;k+)printf(-);)Prlntfr);j三l;while(j=n-i)(printf();j+;printf(n);I+;return0;选做5.10,出菱形图案入n,出如下例(n=3)所示的要形;Mindudeincludeintmain()(intn,ij,k;scanf(%d,&n);for(i三l;i三n;i)(for(j三l;j=11-i;j+)(printf();for(k=l;k=2l;k+)(printf(4);printf(11);for(l=l;l=nl;1+)(for(j=ljj=ijj+)(pri11tff);for(k=l;

32、k=2*n-2*il;k+)(printf(4);pri11tf(n);return0;5.11 量大公的效入两个正要蒙m和n,求它们的最大公约数和量小公倍数比如,入m和n的值分别为14和21则量大公的数为7,量小公倍数为42Windudevoidmain()(intm,nrIJ;scanf(,%d%dmn);for(i=m;isl;i-)(if(n%i=O&m%i=O)printf(thegreatestcommondivisoris%dn,i);break;)for(J=m;j+)(ifG%m=0&j%n=0)printf(-theleastcommonmultipleis%dnJ);br

33、eak;)5.12 水仙花敷出全部的水仙花效所谓的水仙花皴是指一个3位数,其各位数字立方和等于读数本身.例如153是一水仙花效,因为153=13+53+33出语句rprintf(%dn,n);Mindudevoidmain()(intn,i,j,k;for(n=100;n则出Yes.Itsfactorsare123假如入8.则出No#indudeltindudeintmain()(intn,i,CSum=0;SCanfrfor(l=l;ln;l+)(if(n%i=三O)sum=sumi;jf(n=ssum)(printf(Yes,itsfactorsare);forc=l;cn;c+)(if(

34、n%c=三O)PrintfC%d,c);)printf(-11);)elseprintf(,Non);5.14 家数入两个正要敷m和n,求出(m,n)区间的全部宗数Mndude#includevoidmain()i11tm,n,i,j,k;scanf(%d%d,&m,&n);for(i=m;in;i*)k=sqrt(i);for(j=211k)printf(%d,i);)printf(11);5.15 找出量大素敷索敷是指一个只能被1和它本身要除的蒙,在数论中占有要的探时地位,在当代密码学中也被广泛应用.入,取值范BI出:该范国内的量大素数indudeintmain()(inta,i,j;sc

35、anf(%d-,&a);for(l=a;ll;l-)(for(j=2jij+)(if(i%j=O)break;if(j=i)(printf(%dn,l);break;)5.16 回文数入一个数,推断是否为回文J1.假如是,出Yes,否则出No#includeincludeincludechar4chan(intcount);intmain(intargc,char*argv)(charstr;intlfn;str=chan(O);n=strlen(str);for(i=0;i(nl)2;1+)if(str(i)!=str(nl.i)n=0;break;f(11)printfCYesn,);)elseprlntf(,Non,);free(str);SyStem(pause);return0;charechan(intcount)(chara;staticcharp;讦(a=getchar()!三,n()(count*;chan(count);)else(p=malk(sizeof(char)4(count*l);(p+count)=0;returnp;(p+count-l)=a;returnp;选做5.17自守数自守数是指一个数的平方的尾数等于该数自身的自然数.例如252=625,762=5776.*入自然数,推断其是否为自守数.假如是,则出Yes,否用出Noinclu

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号