OJ实验(5).doc_第1页
OJ实验(5).doc_第2页
OJ实验(5).doc_第3页
OJ实验(5).doc_第4页
OJ实验(5).doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

实验(5)1224 Problem A: 编写函数:求三个整数的最大值 (Append Code)Time Limit: 1 SecMemory Limit: 2 MBSubmit: 5056Solved: 2457SubmitStatusWeb BoardDescription求三个整数的最大值。-编写一个函数maxValue()求三个整数的最大值。其原型为:int maxValue(int a,int b,int c);功能:函数的三个参数传入a,b,c的值,返回其中最大值。函数的调用格式见“Append Code”。Input输入三个int类型的整数,两两之间用空格隔开。Output输出三个整数的最大值。Sample Input1 2 3Sample Output3HINT参看系统首页上的“Append Code”使用说明,讨论版(Web Board)上也有。Append Codeappend.c, append.cc, #include int maxValue(int x,int y,int z) int m; if(xy) m=x; x=y; y=m; if(yz) m=y; y=z; z=m; return z; int main() int x, y, z; scanf(%d %d %d, &x, &y, &z); printf(%d, maxValue(x, y, z); return 0; 1146 Problem B: 编写函数:计算分段函数 (Append Code)Time Limit: 1 SecMemory Limit: 2 MBSubmit: 5835Solved: 2636SubmitStatusWeb BoardDescription设有函数y=f(x)定义为:给定x的值,编程求出y的值并输出。-编写函数func()和output(),其原型为:double func(double x);功能:计算f(x)并返回。int output(int n, double x)功能:按照题意的格式输出。函数的调用格式见“Append Code”。Input输入的第一个是测试样例数N,后跟N个输入为x的值。Output输出为N行,每行顺序与输入对应的y=f(x)的计算结果,即y的值。输出时y值保留6位小数,且不输出无意义的0。每行的格式为:case i:y=?.其中i表示测试用例编号(从1开始),?表示计算结果。Sample Input4-30.52.110.08Sample Outputcase 1:y=3.case 2:y=0.841471.case 3:y=3.37061.case 4:y=30.16.HINT参看系统首页上的“Append Code”使用说明,讨论版(Web Board)上也有。Append Codeappend.c, append.cc, #include #include double func(double x) if(x=0&x=1&x5) return sqrt(x*x*x+x); else return 2*x+10; int output(int n, double x) printf(case %d:y=%lg.n,n,x); int main() int i, cases; double x; scanf(%d, &cases); for(i = 1; i = cases; i+) scanf(%lf, &x); output(i, func(x); return 0; 1244 Problem C: 几点几分几秒Time Limit: 1 SecMemory Limit: 2 MBSubmit: 3385Solved: 1817SubmitStatusWeb BoardDescription一天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”。Sample Input126136009999864000Sample Output00:00:0000:00:0100:01:0000:59:5902:46:3823:59:59#include int main() int n,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:%.2dn,a,b,c); 1455 Problem D: 一天中的第几秒Time Limit: 1 SecMemory Limit: 2 MBSubmit: 2085Solved: 1429SubmitStatusWeb BoardDescription一天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秒。Sample Input00:00:0000:00:0100:01:0000:59:5902:46:3823:59:59Sample Output12613600999986400#include int main() int a,b,c,n; while(scanf(%d:%d:%d,&a,&b,&c)!=EOF) n=a*3600+b*60+c+1; printf(%dn,n); 1098 Problem E: 序数的后缀Time Limit: 1 SecMemory Limit: 2 MBSubmit: 4244Solved: 2289SubmitStatusWeb BoardDescription英文中经常用阿拉伯数字加上字母后缀表示“第几“这样的序数词。比如,”第10次会面“通常写成”10th meeting“。后缀来源于英文的序数词:第1的英文是first,写成”1st;第2的英文是second,写成“2nd”;第3的英文是third,写成“3rd”,第4是fourth,写成“4th”,以后的数字都加“th”。在这里规定,所有后缀为1的数字都写成“st”结尾,后缀为2的数字写成“nd”结尾,后缀为3的英文写成“rd”结尾,其他的写成“th”结尾。Input输入为多个很小的正整数,当输入为0时表示输入结束。Output输出为多行,每行对应一个输入数字的序数表示。Sample Input1 2 3 4 5 10 11 12 13 14 0Sample Output1st2nd3rd4th5th10th11st12nd13rd14thHINT用switch语句似乎更容易些。#include int main() int n,m; for(;) scanf(%d,&n); if(n=0) break; if(n=10) if(n=1) printf(%dstn,n); else if(n=2) printf(%dndn,n); else if(n=3) printf(%drdn,n); else printf(%dthn,n); else m=n%10; if(m=1) printf(%dstn,n); else if(m=2) printf(%dndn,n); else if(m=3) printf(%drdn,n); else printf(%dthn,n); 1096 Problem F: Print Graphics Problerm (II)Time Limit: 1 SecMemory Limit: 16 MBSubmit: 4797Solved: 1889SubmitStatusWeb BoardDescription向标准输出上打印一些用ASCII字符组成的图形。Input输入为多个整数n,0n100。当n为0时结束输入。Output若n为偶数,则输出一个正向的n层等腰三角形;n为奇数,则输出一个倒向的n层等腰三角形。三角形由“+”组成。任意两个图形之间有一个空行分隔,格式见sample。Sample Input540Sample Output+ + + + + + + +#include int main() int n,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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论