【OJ使用起步】判题模式分析,重定向与文件比对的一种方法

本文介绍了在线评测系统(OJ)如何通过文件重定向实现自动判题,详细讲解了`freopen`函数在ACM编程中的应用,以及如何使用简单的文件比较方法检查程序输出的正确性。提交代码时需要注意避免使用`freopen`以确保OJ能正确执行重定向。
摘要由CSDN通过智能技术生成

我们在 VC6.0 等编译器编译运行程序后,会用键盘输入一些数据对程序功能进行检查。而众所周知,OJ是自动判题平台,不会有人在电脑前输入测试数据,故提交程序中的scanf接受的肯定不是从键盘输入的数据。那么OJ系统如何将本应该用键盘输入的数据传入程序并完成评判呢?以下是我猜想的一种可能方法。

下面这个程序,假设是 HDU1089 的标准程序,我们管它叫 “std.cpp” :

#include <stdio.h>

int main()
{
    int a,b;

    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);

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

其中的 freopen() 称为重定向函数(参看词条),它包含在 stdio.h 中。

</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值