请问针对OJ上的大数据测试,求大神给测例? 测例希望全面,离奇……

请问针对OJ上的大数据测试,求大神给测例? 测例希望全面,离奇……,第1张

可以在网上寻找标准程序(一般都会有),如果没有的话写一个可以确保正确的暴力代码,然后写一个随机生成数据的程序,用一个bat文件,不断的造小数据让自己的代码和标算(暴力)跑,校对答案。(以上方法俗称对拍)

bat 文件如下

:1

make_data

a

a_

fc a.out a_.out

if errorlevel==1 pause

goto 1

a为你的程序的名称,a_为标算或暴力,fc如果不能使用可以去C盘里找出来,然后放到程序边上。

由于数据是随机生成的,所以如果代码有明显的漏洞,很容易就拍出来(尤其是一些细节上的问题),当然也有代码在随机数据的情况下表现的非常好,但是会被构造的数据卡掉,可以尝试构造极端的数据来进行测试。

总的来说对拍对的代码不一定就是正确的,遇到错误时最好还是先再理一遍自己的思路,跟着自己的代码走一遍,确认思路没有错之后再使用对拍。

苹果手机oj平台不显示测验和题目的时候需要检查自己的网络条件,信号不稳定的话是无法加载出来的,多刷新下,如果还是不行的话可以退出重新登录或者重启试试。

OJ平台是一个在线判题系统,使用者可在线提交多种程序的源代码(如C、C++、Java),系统对源代码进行编译连接并运行,再通过后台数据库的测试用例来检验代码的正确与否。

代码看起来没什么大问题

有可能遇到浮点陷阱了。

你把main里面的i,还有函数参数类型 都改成int试试。

#include<stdio.h>

double fact(int n)

int main()

{

double s=0.0,eps,PI,t

int i

scanf("%le",&eps)

for(i=0i++)

{    t = fact(i)

    s+=t

    if(t<eps)

        break

}

printf("PI = %.5lf",2.0*(s+1.0))

return 0

}

double fact(int n)

{

int i,k

double nn=1.0

double result

for(i=1i<=n+1i++)

{

    nn*=i

}

double sx=1.0

for(k=3k<=2*(n+1)+1k=k+2)

{

sx=sx*k

}

result=nn/sx

return result

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8126245.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存