Linux相关——手写测试程序
由于本人太弱,,,不会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相关——手写测试程序的更多相关文章
- 好记性不如烂笔头--linux学习笔记9练手写个shell脚本
#!/bin/bash #auto make install httpd #by authors baker95935 #httpd define path variable H_FILES=http ...
- MySQL手写代码相关变量
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11777682.html 手写一些SQL代码时候需要用到的关键字. DELIMITER, BEG ...
- OpenCV+TensorFlow实现自定义手写图像识别
完整版请点击链接:https://mp.weixin.qq.com/s/5gHXGmLbtO7m3dOFrDUiHQ 或微信关注“大数据技术宅” 继用TensorFlow教你做手写字识别(准确率 ...
- 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 手写文字识别 ...
- [Python]基于CNN的MNIST手写数字识别
目录 一.背景介绍 1.1 卷积神经网络 1.2 深度学习框架 1.3 MNIST 数据集 二.方法和原理 2.1 部署网络模型 (1)权重初始化 (2)卷积和池化 (3)搭建卷积层1 (4)搭建卷积 ...
- C基础 带你手写 redis adlist 双向链表
引言 - 导航栏目 有些朋友可能对 redis 充满着数不尽的求知欲, 也许是 redis 属于工作, 交流(面试)的大头戏, 不得不 ... 而自己当下对于 redis 只是停留在会用层面, 细节层 ...
- 【项目】手写FTP服务器-C++实现FTP服务器
X_FTP_server 手写FTP服务器-C++实现FTP服务器 项目Gitee链接:https://gitee.com/hsby/ftp_Server 简介 一个基于libevent的高并发FTP ...
- 使用PyTorch构建神经网络模型进行手写识别
使用PyTorch构建神经网络模型进行手写识别 PyTorch是一种基于Torch库的开源机器学习库,应用于计算机视觉和自然语言处理等应用,本章内容将从安装以及通过Torch构建基础的神经网络,计算梯 ...
- caffe_手写数字识别Lenet模型理解
这两天看了Lenet的模型理解,很简单的手写数字CNN网络,90年代美国用它来识别钞票,准确率还是很高的,所以它也是一个很经典的模型.而且学习这个模型也有助于我们理解更大的网络比如Imagenet等等 ...
随机推荐
- dubbo之main启动
一.dubbo的main启动在使用上面会简单的多,但是需要做一些简单的配置. dubbo.spring.config=classpath*:META-INF/spring/*.xml 备注:这个是默认 ...
- tensorflow学习一
1.用图(graph)来表示计算任务 2.用op(opreation)来表示图中的计算节点,图有默认的计算节点,构建图的过程就是在其基础上加节点. 3.用tensor表示每个op的输入输出数据,可以使 ...
- 抓取Oracle数据快照
进入到oracle安装目录下的admin(找到这个目录)开启cmd键入sqlplus system/mima@实例名>@awrrpt.sql Would you like an HTML rep ...
- HTML 常见的 DOCTYPE 声明
<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. <!DOCTYPE> 声明不是 HTML 标签:它是指示 web 浏览器关 ...
- Linux命令应用大词典-第6章 文件处理
6.1 sort:对文件中的数据进行排序 6.2 uniq:将重复行从输出文件中删除 6.3 cut:从文件每行中输出选定的字节.字符或字段 6.4 comm:逐行比较两个已经排序的文件 6.5 di ...
- python中为什么 if/while/def/class语句需要冒号?
python中冒号主要用于增强可读性(ABC语言实验的结果之一).考虑一下这个: if a == b print(a) 与 if a == b: print(a) 注意第二种方法稍微容易一些.请进一步 ...
- python 终极篇 ---django 认证
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...
- 使用flume抓取tomcat的日志文件下沉到kafka消费
Tomcat生产日志 Flume抓取日志下沉到kafka中 将写好的web项目打包成war包,eclise直接导出export,IDEA 在artifact中添加新的artifact-achieve项 ...
- Laxcus大数据管理系统2.0(7)- 第五章 数据构建
第五章 数据构建 在数据处理过程,我们经常会遇到这样的情况:大多数时候,用户最初输入的数据会含有大量无意义的.杂乱的信息,需要经过提炼.收集.汇总等一系列手段,才能产生有意义和用户可识别的数据内容:当 ...
- [模板]非递归线段树(zkw的变异版本)
类似于zkw,但空间只用两倍,zkw要4倍. 链接 可以下传标记,打熟后很好码. #include <set> #include <cmath> #include <cs ...