本文主要是介绍九度oj的入门做法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
由于看到很多同学发帖提问关于一些基本的OJ的操作,并且我为了给我的一个同学总结一个做题流程,所以我总结了一下对于刚接触九度OJ的同学算是一个入门的小教程。
如果以前接触过acm的同学可以不用看了。
1.网址 :ac.jobdu.com
2.如果以前是王道论坛的用户,直接输入那个账号和密码就行。
如果不是的话,可以在首页新注册一个。
3.做题:在首页上方第二栏“在线练习”中点击“题库”,题目列表就出来了。
4.题目的大体框架:
(1)题目描述: 会有一些小故事,或者要求你完成的任务。
(2)输入: 对于输入数据的格式及范围的描述。
(3)输出: 对于输出数据的格式及范围的描述。
(4)样例输入: 给出一个输入数据的例子。
(5)样例输出: 给出一个输出数据的例子,自己写完程序后可以拿“样例输入”中的例子测试一下自己的程序,看输出跟“样例输出”的结果是否一样,一样的话就可以提交程序了。如果不一样,需要改程序直到一样。
(6)提示: 一般有一些需要注意的地方这里会说出来。
5.程序的大体框架:
拿1000:计算a+b举个例子,
(1)一般常用到的头文件入下:
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>//算法库,有些排序程序会用到
#include<math.h>//一些数学的函数会用到这个库
#include<string.h>//字符串处理的时候会用到
using namespace std;
这些做一般的题目就都够了,有些题目也可以不用把这些头文件全部添加进去,不过我一般的做法是直接全加进去,反正不花钱,哈哈。
(2) 输入的时候需要注意,一般题目都是有多组测试样例,所以需要循环输入。
比如1000这道题目输入a和b的时候,
C++: while(cin >> a >> b)
{...}
C: while(scanf("%d %d", &a, &b) != EOF)
{...}
然后在大括号里面按照题目要求写程序就可以了。
(3)输出: 有的题目的输出有可能不是只让输出数字的答案,就按照它的要求加上需要输出的一些字符就行,比如:1046那道题目,printf("max=%d", &ans);就行。
(4)1000: 计算a+b的完整代码(以后写题目可以作为参考,基本框架这里就有了)
(对了,主函数main的返回值必须为int,然后在程序中return 0就行。)
C++版本:
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<math.h>
#include<string.h>
using namespace std;
int main()
{
int a, b;
while(cin >> a >> b)
{
int ans = a+b;
cout << ans << endl;
}
return 0;
}
C版本:
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<math.h>
#include<string.h>
using namespace std;
int main()
{
int a, b;
while(scanf("%d %d", &a, &b) != EOF)
{
int ans = a+b;
printf("%d\n", ans);
}
return 0;
}
6.题目写完后, 点“提交就行了”,可以选择语言,在代码框中粘贴上你的代码,点“submit”就可以提交了。稍等一下刷新一下页面就能出现你的题目的返回结果了,一般返回结果会有以下几种情况:
(1)Accepted : 程序通过!
(2)Running & Judging: 正在运行和判断.
(3)Compiling : 正在编译.
(4)Presentation Error : 答案基本正确,但是格式不对。
(5)Wrong Answer : 答案不对,仅仅通过样例数据的测试并不一定是正确答案,一定还有你没想到的地方.
这几个是比较常见的,还有一些返回结果可能以后做题会遇到,到时候再说就行。
祝大家做题顺利!
by 玄影游侠
http://www.cskaoyan.com/thread-79419-1-1.html
这篇关于九度oj的入门做法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!