由于本人太弱,,,不会lemon,,,也不会在ubuntu下安装lemon,所以我选择手写测试程序emmmm

首先要写这个东西我们要先知道对拍怎么写。

     for(int i = ; i <= ; i++)
{
system("./make >in.in");
system("./work >out.out");
system("./work1 >out1.out");
if(system("diff -bB out.out out1.out"))
{
printf("error in %d\n", i);
break;
}
else
{
printf("passed... %d\n", i);
system("sleep 1");
}
}

那么我们的测试程序就是基于这个对拍程序改的。

因为system里面的都是字符串,因此我们要用到字符串,但怎么用呢?

我们可以用一些小字符串来拼凑出一个大字符串。比如这样:

         s = "./work < " + tmp + ".in";

其中s和tmp都是string。

tmp即代表当前测试的数据组数。

因为通常我们的数据包是这样的:1.in 1.out 2.in 2.out……

因为后缀相同,所以我们只需要用tmp存下前面的数字就好了。那么我们要怎么获取呢?

 void get(int x)
{
tot = ;
while(x) m[++tot] = x % , x /= ;
tmp = "";
for(R i = tot; i; i --)
{
tmp += m[i] + '';
}
}

因为tmp也是字符串,所以我们可以手写一个get函数,来实现把数x变为字符串后放入tmp

值得注意的是,字符串的初始化不能直接等于0,(虽然我看网上好多blog都是直接=0,但是我这么用会报错,,,我也不知到为什么);

所以我们令tmp = "";

然后再把数放进去,放进去的方式也是和前面一样的加入一个个的小字符串。

于是我们现在有了应该放在system("")里的字符串,那么我们要如何放进去呢?

     for(R i = ; i <= ; i++)
{
get(i);
s = "./work < " + tmp + ".in";
system(s.c_str());
s = "diff -bB a.out " + tmp + ".out";
if(system(s.c_str()))
{
printf("get %d points\n", (i - ) * );
exit();
}
}

我们可以直接使用.c_str()来获取当前字符串的首字符地址,然后放入原本需要字符串的地方,注意不要 " "  哦。

放上完整代码:

 #include<bits/stdc++.h>
using namespace std;
#define R register int
string s,tmp;
int m[], tot; void get(int x)
{
tot = ;
while(x) m[++tot] = x % , x /= ;
tmp = "";
for(R i = tot; i; i --)
{
tmp += m[i] + '';
}
} int main()
{
for(R i = ; i <= ; i++)
{
get(i);
s = "./work < " + tmp + ".in";
system(s.c_str());
s = "diff -bB a.out " + tmp + ".out";
if(system(s.c_str()))
{
printf("get %d points\n", (i - ) * );
exit();
}
}
printf("get 100 points!!!

Linux相关——手写测试程序的更多相关文章

  1. 好记性不如烂笔头--linux学习笔记9练手写个shell脚本

    #!/bin/bash #auto make install httpd #by authors baker95935 #httpd define path variable H_FILES=http ...

  2. MySQL手写代码相关变量

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11777682.html 手写一些SQL代码时候需要用到的关键字. DELIMITER, BEG ...

  3. OpenCV+TensorFlow实现自定义手写图像识别

    完整版请点击链接:https://mp.weixin.qq.com/s/5gHXGmLbtO7m3dOFrDUiHQ    或微信关注“大数据技术宅” 继用TensorFlow教你做手写字识别(准确率 ...

  4. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  5. [Python]基于CNN的MNIST手写数字识别

    目录 一.背景介绍 1.1 卷积神经网络 1.2 深度学习框架 1.3 MNIST 数据集 二.方法和原理 2.1 部署网络模型 (1)权重初始化 (2)卷积和池化 (3)搭建卷积层1 (4)搭建卷积 ...

  6. C基础 带你手写 redis adlist 双向链表

    引言 - 导航栏目 有些朋友可能对 redis 充满着数不尽的求知欲, 也许是 redis 属于工作, 交流(面试)的大头戏, 不得不 ... 而自己当下对于 redis 只是停留在会用层面, 细节层 ...

  7. 【项目】手写FTP服务器-C++实现FTP服务器

    X_FTP_server 手写FTP服务器-C++实现FTP服务器 项目Gitee链接:https://gitee.com/hsby/ftp_Server 简介 一个基于libevent的高并发FTP ...

  8. 使用PyTorch构建神经网络模型进行手写识别

    使用PyTorch构建神经网络模型进行手写识别 PyTorch是一种基于Torch库的开源机器学习库,应用于计算机视觉和自然语言处理等应用,本章内容将从安装以及通过Torch构建基础的神经网络,计算梯 ...

  9. caffe_手写数字识别Lenet模型理解

    这两天看了Lenet的模型理解,很简单的手写数字CNN网络,90年代美国用它来识别钞票,准确率还是很高的,所以它也是一个很经典的模型.而且学习这个模型也有助于我们理解更大的网络比如Imagenet等等 ...

随机推荐

  1. python中- \r用法

    # \r 默认表示将输出的内容返回到第一个指针,这样的话,后面的内容会覆盖前面的内容 def main(): for i in range(65,91): s="\r{name:s}&quo ...

  2. cyclone4驱动LM75A温湿度传感器学习

    1. LM75A第一次使用,I2C接口,8脚 2. 打开quartus工程,下面只要是看看代码结构,问题在于多个always语句,逻辑上不太好分清楚,主要看状态机 module I2C_READ( c ...

  3. hdu1203I NEED A OFFER!(01背包)

    I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  4. python中的迭代器与生成器

    迭代器 迭代器的引入 假如我现在有一个列表l=['a','b','c','d','e'],我想取列表中的内容,那么有几种方式? 1.通过索引取值 ,如了l[0],l[1] 2.通过for循环取值 fo ...

  5. 利用maven进行项目管理

    下面为maven项目管理的一个结构 首先pom是路径文件,我们在编译或是运行程序时调用到jdk或一些自己写的jar包时会需要指明物理路径,这里的pom是一样的道理,同时在maven的管理下多出来了一些 ...

  6. mapReduce入门教程

    什么是MapReduce MapReduce是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归纳)&q ...

  7. eos智能合约开发最佳实践

    安全问题 1.可能的错误 智能合约终止 限制转账限额 限制速率 有效途径来进行bug修复和提升 2.谨慎发布智能合约 对智能合约进行彻底的测试 并在任何新的攻击手法被发现后及时制止 赏金计划和审计合约 ...

  8. POJ 3028 Shoot-out(概率DP)

    Description This is back in the Wild West where everybody is fighting everybody. In particular, ther ...

  9. HDU 2485 Destroying the bus stations(!最大流∩!费用流∩搜索)

    Description Gabiluso is one of the greatest spies in his country. Now he’s trying to complete an “im ...

  10. Python-列表练习

    1.使用列表生成式生成如下列表:[1,9,25,49,81] s = [i**2 for i in range(1,10)if i%2==1] print(s) 2.输入一个由英文单词组成的字符串(分 ...