openjudge使用指南专业知识讲座_第1页
openjudge使用指南专业知识讲座_第2页
openjudge使用指南专业知识讲座_第3页
openjudge使用指南专业知识讲座_第4页
openjudge使用指南专业知识讲座_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

openjudge使用指南第1页第2页第3页第4页第5页第6页几点说明提交程序时必须采取从标准输入读取数据,向标准输出写入数据方式。在C++程序中用“cin”、“cout”在c程序中用scanf,printf你程序不能向标准输出写入任何多出数据,不然将会得到“答案错误(WrongAnswer)”成果。你程序不能从任何文献中输入/输出数据,不然将会得到“运行时错误(RuntimeError)”或者“答案错误(WrongAnswer)”成果。注意:在G++/GCC程序中,main()函数返回值类型必须是“整型(int)”,不然将得到“编译错误(compileerror)”。一定按照要求进行输入输出; errorError

第7页presentationerror输出格式不符合要求compileerror编译错误第8页输入输出格式第9页2023/10/1010ACM题目特点

由于ACM竞赛题目标输入数据和输出数据一般有多组(不定),并且格式多种多样,因此,如何处理题目标输入输出是对大家一项最基本要求。这也是困扰初学者一大问题。 下面,分类介绍:第10页2023/10/1011一种超级简单题目(ex-1):ProblemDescription

Yourtaskistocalculatea+b.Input

Theinputwillconsistofaseriesofpairsofintegersaandb,separatedbyaspace,onepairofintegersperline.

Output

Foreachpairofinputintegersaandbyoushouldoutputthesumofaandbinoneline,andwithonelineofoutputforeachlineininput.Sampleinput

15

1020Sampleoutput

6

30第11页2023/10/1012输入第一类:输入不说明有多少个InputBlock,以EOF为结束标志。

参见:ex-1.第12页2023/10/1013ex-1源代码:#include<stdio.h>intmain(){inta,b; while(scanf("%d%d",&a,&b)!=EOF) printf("%d\n",a+b);return0;}第13页2023/10/1014本类输入处理方案:C语法:

while(scanf("%d%d",&a,&b)!=EOF) {

....

}C++语法:

while(cin>>a>>b)

{

....

}第14页2023/10/1015说明:Scanf函数返回值就是读出变量个数,如:scanf(“%d%d”,&a,&b);

假如a和b都被成功读入整数,那么scanf返回值就是2;

假如只有a被成功读入整数,返回值为1;

假如a和b都未被成功读入整数,返回值为0;

假如遇到错误或遇到endoffile,返回值为EOFEOF是一种预定义常量,等于-1。第15页2023/10/1016输入第二类:输入一开始就会说有N个InputBlock,下面接着是N个InputBlock。ex-2ProblemDescription

Yourtaskistocalculatea+b.Input

InputcontainsanintegerNinthefirstline,andthenNlinesfollow.Eachlineconsistsofapairofintegersaandb,separatedbyaspace,onepairofintegersperline.Output

Foreachpairofinputintegersaandbyoushouldoutputthesumofaandbinoneline,andwithonelineofoutputforeachlineininput.

Sampleinput

2

15

1020Sampleoutput

6

30第16页2023/10/1017ex-2源代码:#include<stdio.h>intmain(){intn,i,a,b; scanf("%d",&n);for(i=0;i<n;i++){ scanf("%d%d",&a,&b); printf("%d\n",a+b);}return0;}

第17页2023/10/1018本类输入处理方案:C语法:

scanf("%d",&n); for(i=0;i<n;i++)

{

....

}C++语法:

cin>>n;

for(i=0;i<n;i++)

{

....

}第18页2023/10/1019输入第三类:输入不说明有多少个InputBlock,但以某个特殊输入为结束标志。ex-3ProblemDescription

Yourtaskistocalculatea+b.Input

Inputcontainsmultipletestcases.Eachtestcasecontainsapairofintegersaandb,onepairofintegersperline.Atestcasecontaining00terminatestheinputandthistestcaseisnottobeprocessed.Output

Foreachpairofinputintegersaandbyoushouldoutputthesumofaandbinoneline,andwithonelineofoutputforeachlineininput.

Sampleinput

15

1020

00Sampleoutput

6

30第19页2023/10/1020ex-3源代码:#include<stdio.h>intmain(){ inta,b;

while(scanf("%d%d",&a,&b)&&(a!=0&&b!=0)) printf("%d\n",a+b);return0;}

上面程序有什么问题?杜绝低级错误!

温馨提示

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

评论

0/150

提交评论