OJ实验(5)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验(5)1224ProblemA:编写函数:求三个整数的最大值(AppendCode)TimeLimit:1SecMemoryLimit:2MBSubmit:5056Solved:2457[Submit][Status][WebBoard]Description求三个整数的最大值。-----------------------------------------------------------------------------编写一个函数maxValue()求三个整数的最大值。其原型为:intmaxValue(inta,intb,intc);功能:函数的三个参数传入a,b,c的值,返回其中最大值。函数的调用格式见“AppendCode”。Input输入三个int类型的整数,两两之间用空格隔开。Output输出三个整数的最大值。SampleInput123SampleOutput3HINT参看系统首页上的“AppendCode”使用说明,讨论版(WebBoard)上也有。AppendCodeappend.c,append.cc,#includestdio.hintmaxValue(intx,inty,intz){intm;if(xy){m=x;x=y;y=m;}if(yz){m=y;y=z;z=m;}returnz;}intmain(){intx,y,z;scanf(%d%d%d,&x,&y,&z);printf(%d,maxValue(x,y,z));return0;}1146ProblemB:编写函数:计算分段函数(AppendCode)TimeLimit:1SecMemoryLimit:2MBSubmit:5835Solved:2636[Submit][Status][WebBoard]Description设有函数y=f(x)定义为:给定x的值,编程求出y的值并输出。-----------------------------------------------------------------------------编写函数func()和output(),其原型为:doublefunc(doublex);功能:计算f(x)并返回。intoutput(intn,doublex)功能:按照题意的格式输出。函数的调用格式见“AppendCode”。Input输入的第一个是测试样例数N,后跟N个输入为x的值。Output输出为N行,每行顺序与输入对应的y=f(x)的计算结果,即y的值。输出时y值保留6位小数,且不输出无意义的0。每行的格式为:casei:y=?.其中i表示测试用例编号(从1开始),?表示计算结果。SampleInput4-30.52.110.08SampleOutputcase1:y=3.case2:y=0.841471.case3:y=3.37061.case4:y=30.16.HINT参看系统首页上的“AppendCode”使用说明,讨论版(WebBoard)上也有。AppendCodeappend.c,append.cc,#includestdio.h#includemath.hdoublefunc(doublex){if(x0){return-x;}elseif(x=0&&x1){returnsin(2*x);}elseif(x=1&&x5){returnsqrt(x*x*x+x);}else{return2*x+10;}}intoutput(intn,doublex){printf(case%d:y=%lg.\n,n,x);}intmain(){inti,cases;doublex;scanf(%d,&cases);for(i=1;i=cases;i++){scanf(%lf,&x);output(i,func(x));}return0;}1244ProblemC:几点几分几秒TimeLimit:1SecMemoryLimit:2MBSubmit:3385Solved:1817[Submit][Status][WebBoard]Description一天24小时,每小时60分钟,每分钟60秒。一天共有86400秒。0点0分0秒是每天的第1秒;0点0分1秒是每天的第2秒;0点1分0秒是每天的第61秒;1点0分0秒是每天的第3601秒;23点59分59秒是每天的第86400秒。你的任务是编写一个程序,把每天的第n秒转换成具体的24小时制时间(从00:00:00到23:59:59)。Input输入为若干整数n,表示每天的第n秒,1=n=86400,当输入n为0时表示输入结束。Output每行输出一个第n秒对应的具体时间,格式为“hh:mm:ss”。时、分、秒各占2位,不足两位要补0,如0点0分0秒为“00:00:00”。SampleInput126136009999864000SampleOutput00:00:0000:00:0100:01:0000:59:5902:46:3823:59:59#includestdio.hintmain(){intn,a,b,c;for(;;){scanf(%d,&n);if(n==0){break;}n=n-1;a=n/3600;b=(n%3600)/60;c=n-3600*a-60*b;printf(%.2d:%.2d:%.2d\n,a,b,c);}}1455ProblemD:一天中的第几秒TimeLimit:1SecMemoryLimit:2MBSubmit:2085Solved:1429[Submit][Status][WebBoard]Description一天24小时,每小时60分钟,每分钟60秒。一天共有86400秒。0点0分0秒是每天的第1秒;0点0分1秒是每天的第2秒;0点1分0秒是每天的第61秒;1点0分0秒是每天的第3601秒;23点59分59秒是每天的第86400秒。你的任务是编写一个程序,计算出一个24小时制的时间(从00:00:00到23:59:59)是这一天的第几秒?Input每行输入24小时制的时间,至EOF结束。时间的格式为“hh:mm:ss”,时、分、秒各占2位,不足两位的有前缀0,如0点0分0秒为“00:00:00”。输入的时间均满足0=hh23,0=mm,ss=59。Output每行输出为对应输入行的计算结果,仅为一个整数n,表示输入的时间是这一天的第n秒。SampleInput00:00:0000:00:0100:01:0000:59:5902:46:3823:59:59SampleOutput12613600999986400#includestdio.hintmain(){inta,b,c,n;while(scanf(%d:%d:%d,&a,&b,&c)!=EOF){n=a*3600+b*60+c+1;printf(%d\n,n);}}1098ProblemE:序数的后缀TimeLimit:1SecMemoryLimit:2MBSubmit:4244Solved:2289[Submit][Status][WebBoard]Description英文中经常用阿拉伯数字加上字母后缀表示“第几“这样的序数词。比如,”第10次会面“通常写成”10thmeeting“。后缀来源于英文的序数词:第1的英文是first,写成”1st‘;第2的英文是second,写成“2nd”;第3的英文是third,写成“3rd”,第4是fourth,写成“4th”,以后的数字都加“th”。在这里规定,所有后缀为1的数字都写成“st”结尾,后缀为2的数字写成“nd”结尾,后缀为3的英文写成“rd”结尾,其他的写成“th”结尾。Input输入为多个很小的正整数,当输入为0时表示输入结束。Output输出为多行,每行对应一个输入数字的序数表示。SampleInput1234510111213140SampleOutput1st2nd3rd4th5th10th11st12nd13rd14thHINT用switch语句似乎更容易些。#includestdio.hintmain(){intn,m;for(;;){scanf(%d,&n);if(n==0){break;}if(n=10){if(n==1){printf(%dst\n,n);}elseif(n==2){printf(%dnd\n,n);}elseif(n==3){printf(%drd\n,n);}elseprintf(%dth\n,n);}else{m=n%10;if(m==1){printf(%dst\n,n);}elseif(m==2){printf(%dnd\n,n);}elseif(m==3){printf(%drd\n,n);}elseprintf(%dth\n,n);}}}1096ProblemF:PrintGraphicsProblerm(II)TimeLimit:1SecMemoryLimit:16MBSubmit:4797Solved:1889[Submit][Status][WebBoard]Description向标准输出上打印一些用ASCII字符组成的图形。Input输入为多个整数n,0n100。当n为0时结束输入。Output若n为偶数,则输出一个正向的n层等腰三角形;n为奇数,则输出一个倒向的n层等腰三角形。三角形由“+”组成。任意两个图形之间有一个空行分隔,格式见sample。SampleInput540SampleOutput+++++++++++++++++++++++++++++++++++++++++#includestdio.hintmain(){intn,a,b,c=1,i,j,k,d,e=0;for(;;){scanf(%d,&n);b=n-1;d=2*n-1;if(n==0){break;}if(n%2==0){for(i=1;i=n;i++){for(j=0;jb;j++){printf();}for(j=0;jc;j++){printf(+);}printf(\n);c+=2;b--;}}if(n%2!=0&&n!=0){for(i=1;i=n;i++){for(j=0;je;j++){printf();}for(j=0;jd;j++){printf(+);}printf(\n);e++;d-=2;}}printf(\n);c=1;e=0;}}

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功