zl程序教程

您现在的位置是:首页 >  后端

当前栏目

用PHP语言刷OJ题

2023-09-14 08:56:53 时间

平常在学校都是用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"; }

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