平常在学校都是用C,C++,Java来刷OJ题,把AC的题用不同的语言再AC一次,基本相当于翻译而已。看到学校的OJ支持提交PHP代码,于是尝试了一下。

首先,得会使用PHP,但是你如果在看这篇博客,证明你这点已经做到了,接下来就是测试和提交了。

说到测试,我们在写好一段代码之后,肯定不会立马提交,必须的先测试一下程序是否正确,但是却不知道怎么测试。

因为不能向C、C++,Java一样,点击一下编译运行就立马能测试。

其实在学Java的时候,我们最先用的不是IDE,而是一个记事本,然后在DOS界面,进入所编写代码的文件夹后,用javac filename.java来编译java代码,生成filename.class文件,再通过java filename来运行程序。

PHP也是可以通过类似的方法来运行PHP程序。

不过是Java,还是PHP,要想再DOS界面下操作,都得先添加路径。

首先,找到php.exe的位置,比如我的是安装在 F:\wamp\bin\php文件夹里,如果找不到的话,可以再我的电脑里面右上角搜索php.exe。然后复制他的路径,比如我的是F:\wamp\bin\php。然后打开我的电脑-->系统属性-->高级系统设置-->环境变量。找到Path,再Path末尾,先加一个分号,记住是英文状态下的分号。然后将刚刚复制的路径粘贴上去,比如我总共添加了;F:\wamp\bin\php,点击确定就OK了。判断路径是否正确,只需要先用cmd命令进入DOS界面,再起界面直接输入 php ,如果没有提示错误的话就证明成功了。

第二步。就是开始测试了,PHP提供了标准输出流。函数原型为

mixed fscanf ( resource $handle , string $format [, mixed &$... ] )

函数的用法具体参照 http://php.net/manual/en/function.fscanf.php

通常在OJ上使用的格式是

fscanf(STDIN,"%d",$a)

输出可以用print或者echo。但是要注意换行要用"\n"。

当代码写完后,在DOS界面,进入代码文件所在的文件,此时并不是必须在www文件夹里(如果是的话,大家会无奈死的),可以再其他文件夹。然后输入php filename.php即可,如果有错误,就会出现提示;如果无反应,就证明编译通过,接下来可以输入测试数据了。

综上。以一道最简单的A+B结尾吧

代码如下:

<?php
while (fscanf(STDIN, "%d%d", $a, $b) == 2) {
  //==2是判断是否输入的是两个数 。
print ($a + $b) . "\n";
}

至于还有一些题,输入比较复杂,大家自己慢慢尝试!!!!

用PHP语言刷OJ题的更多相关文章

  1. c语言刷 设计题合计

    355. 设计推特 #define MAX_LEN 512 struct User { int userId; int followee[MAX_LEN]; // 散列表,0/1,1表示这个user被 ...

  2. C语言刷数组题记录

    讲解:https://mp.weixin.qq.com/s/weyitJcVHBgFtSc19cbPdw 二分法: 704. 二分查找 int search(int* nums, int numsSi ...

  3. c语言刷 队列题记录

    622. 设计循环队列 https://blog.csdn.net/Galaxy_n/article/details/115978544 typedef struct { int *arrs; int ...

  4. c语言刷 链表题记录

    61. 旋转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode * ...

  5. c语言刷 DFS题记录

    144. 二叉树的前序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeN ...

  6. [洛谷U22157]刷水题(数位dp)(hash)

    题目背景 做正经题是不可能做正经题的,这辈子都不可能做正经题的,毒瘤题又不会做毒瘤题,就是水题这种东西,才维持了蒟蒻的信心: 题目描述 这里有N+1 道水题,编号分别为0 ~N+1 ,每道水题都有它自 ...

  7. 【noip】跟着洛谷刷noip题2

    noip好难呀. 上一个感觉有点长了,重开一个. 36.Vigenère 密码 粘个Openjudge上的代码 #include<cstdio> #include<iostream& ...

  8. 计算机二级C语言选择题错题知识点记录。

    计算机二级C语言选择题错题知识点记录. 1,在数据流图中,用标有名字的箭头表示数据流.在程序流程图中,用标有名字的箭头表示控制流. 2,结构化程序设计的基本原则:自顶向下,逐步求精,模块化,限制使用g ...

  9. [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ

    前言 做过杭电.浙大或是北大等ACM题库的人一定对“刷题”不陌生,以杭电OJ为例:首先打开首页(http://acm.hdu.edu.cn/),然后登陆,接着找到“Online Exercise”下的 ...

随机推荐

  1. 《Java程序设计》实验二 实验报告

    实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验要求 1.没有Lin ...

  2. Scrum 项目5.0

    1.团队成员完成自己认领的任务. 2.燃尽图:理解.设计并画出本次Sprint的燃尽图的理想线.参考图6. 3.每日立会更新任务板上任务完成情况.燃尽图的实际线,分析项目进度是否在正轨.    每天的 ...

  3. BeautifulSoup 常用方法

    #输出所得标签的‘’属性值 获取 head里面的第一个meta的content值 soup.head.meta['content'] 获取第一个span的内容 soup.span.string 获取第 ...

  4. WPF:linq

    /// <summary> /// 该药品是否存在发药信息 /// 存在返回true,否则返回false /// </summary> /// <param name=& ...

  5. iOS 10 消息推送(UserNotifications)秘籍总结(一)

    前言 之前说会单独整理消息通知的内容,但是因为工(就)作(是)的(很)事(懒)没有更新文章,违背了自己的学习的初衷.因为互联网一定要有危机意识,说不定眼一睁,我们就out丢了饭碗. 图片来源网络.jp ...

  6. Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示

    本例以将 字符串格式的时间转成指定的时间格式显示. 第一步.定义一个标签处理程序类,需要集成javax.servlet.jsp.tagext.TagSupport,代码如下: import java. ...

  7. 六种流行的语言---C、C++、python、Java、php、C#比较[转]

    语言大餐 回归正题,本文是六种语言连接mysql数据库的代码展示,在LZ尝试的过程中,无论是语言环境搭建.mysql依赖库的导入还是代码的风格,各种语言都各有千秋.接下来,我们就让这些语言一一登场吧. ...

  8. mongodb 和 mysql 的对照

    In addition to the charts that follow, you might want to consider the Frequently Asked Questions sec ...

  9. test python

    #coding = utf-8import conn as confrom mysql import mysql as my def link_ppd( pre = 'ppd' ):#link ppd ...

  10. 使用AlarmManager设置闹钟----之二

    import android.media.MediaPlayer;import android.os.Bundle;import android.app.Activity;import android ...