本站新闻

自动评测编程格式

自动评测编程格式

管理员 -
回帖数:0

跑代码用法:添加CodeRunner题型即可。

请先下载样本题型:CR样本-20200322-0832.xml  ,导入到你课程的题库里,它里面是各种编程语言出题的出题样例,编辑你需要的语言类型的题目,就知道coderunner题目怎么出题。

 


特别注意:下面这个问题,已经解决了,mdl_question_coderunner_options表中c_function和c_program两个类型中,sandboxparams沙箱参数加上{"linkargs": ["-lm"]}了,不用去理会,C语言程序,就选c_program类型;C语言函数,就选c_function类型。不用去选C++类型!

        由于jobe服务器是采用Ubuntu操作系统,在编译C语言是,如果里面引用到诸如sqrt()的数学函数,它只能对常量开方,如sqrt(10),而不能对变量开方,如sqrt(i),否则会出现引用不到sqrt函数的编译错误。解决办法是在编译时加上【-lm】参数,如【gcc a.c -lm】,这就需要去修改容器内的判题源代码,但一时无法定位在哪里修改。故采用变通办法:
        针对C语言题目,在出题时也选择cpp_program即C++编译器,即用【g++ a.c】去编译,这样就不会出现引用不到sqrt函数的编译错误了。注意,在采用C++编译器时,C语言程序依然按C的编程方法书写,如:

#include <stdio.h>
#include <math.h>
int main()
{
int i=10;
printf("%lf",sqrt(i));
}

 

1、C++ 编程样例:
#include <iostream>
using namespace std;

int main()
{
    int a,b;
    while(cin >> a >> b)
        cout << a+b << endl;
}

2、C 编程样例:
#include <stdio.h>

int main()
{
    int a,b;
    while(scanf("%d %d",&a, &b) != EOF)
        printf("%d\n",a+b);
    return 0;
}

3、PASCAL(FPC) 编程样例:

program p1001(Input,Output); 
var 
  a,b:Integer; 
begin 
   while not eof(Input) do 
     begin 
       Readln(a,b); 
       Writeln(a+b); 
     end; 
end.

4、Java 编程样例:

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		while (in.hasNextInt()) {
			int a = in.nextInt();
			int b = in.nextInt();
			System.out.println(a + b);
		}
	}
}

5、Python2 编程样例:
吴菁老师调试心得(本文只是记录下来,并未实际检验过):
python调试:
1-系统读入数据,都是字符串型;
2-如果输出是列表类型,出卷的时候,结果书写格式跟常规写法有点区别,逗号跟数字之间多了一个空格。
import sys
for line in sys.stdin:
    a = line.split()
    print int(a[0]) + int(a[1])

6、Python3 编程样例:

import sys
for line in sys.stdin:
    a = line.split()
    print(int(a[0]) + int(a[1]))
用input读入固定数量的数据样式:

用input读入数量未知的数据样式:

2025年12月15日,为python 3.6.5安装了几个新库,目前所有的库是:
asn1crypto (0.24.0)
astroid (1.6.0)
attrs (22.2.0)
cryptography (2.1.4)
idna (2.6)
importlib-metadata (4.8.3)
iniconfig (1.1.1)
isort (4.3.4)
keyring (10.6.0)
keyrings.alt (3.0)
lazy-object-proxy (1.3.1)
libnum (1.7.1)
logilab-common (1.4.1)
mccabe (0.6.1)
packaging (21.3)
pip (9.0.1)
pluggy (1.0.0)
primefac (2.0.12)
py (1.11.0)
pycipher (0.5.2)
pycrypto (2.6.1)
pyDes (2.0.1)
pygobject (3.26.1)
pylint (1.8.3)
pyparsing (3.0.7)
pytest (7.0.1)
pyxdg (0.25)
SecretStorage (2.3.1)
setuptools (39.0.1)
six (1.11.0)
tomli (1.2.3)
typing-extensions (4.1.1)
wheel (0.30.0)
wrapt (1.9.0)
zipp (3.6.0)
7、PHP 编程样例:
注意,这里的STDIN不是stdin,要区分小小写的。
<?php
while (fscanf(STDIN, "%d%d", $a, $b) == 2) {
    echo ($a + $b) . "\n";
}
如果读入字符串,这样编写:
fscanf(STDIN, "%s", $a);

范例1:输入两个整数,输出它们的积。测试数据中,不止一对整数。

下面是本地调试和提交服务器评测操作方法:

<?php

while (fscanf(STDIN, "%d%d", $a, $b) == 2) {

    echo $a . 'x' . $b . '=' . $a*$b . "\n";

}

范例2:从键盘输入两个整数,求他们的和。
<?php
//本机调试
//先在web根下建立data.txt文件
//data.txt内容:2 8 ,注意,2和8之间可以有若干个空格和若干个回车符
//从文件中读入数据
$a=file_get_contents("data.txt");
//把回车换行符转换为空格符
$a=str_replace("\r\n", " ", $a);
//把连续多个空格符转换为1个空格符,方法1
$a=preg_replace("/\s(?=\s)/","\\1",$a);
echo $a . "<br>";
$d=explode(' ', $a);
echo $d[0] + $d[1];

//提交评测时,注释掉上面这句,采用下面这句:
//fscanf(STDIN,'%d%d',$a,$b);
echo $a + $b;

 8、SQL(sqlite3) 编程样例: