对付OJ的懒人C++写法
先贴写法#include using namespace std; int body(void) { //真代码 return 0; } int main(void) { #pragma warning(disable:4996) FILE* fp = freopen("1.txt","r",stdin); //重定向stdin从文件读取输入 body(); fflush(fp);//将输出缓冲区清空 freopen("CON",stdin); //重定向输出到控制台 system("pause"); return 0; } 文件读取输入在线评价代码(online judge,OJ)一般会给出测试用数据和结果,可以用来输入到本地程序里。问题是,输入太麻烦了。上述的主程序第一行内重定向文件到输入,所以只要把样例复制到代码目录下的“1.txt”就可以了,每次运行自动读取输入。pragma是对付visual studio用的,不然警告4996会报错。之后的重定向回键盘是为了下面的pause可以完成“按任意键退出”。 命令行窗口闪烁?作业调试要看窗口的输出是不是和答案一样。如果命令行窗口闪烁,就要写一行getchar()或者system(“pause”)来完成“按任意键退出”。但是有些OJ运行这些代码,会出编译错误。所以一起写在这里。 怎么交作业呢?我的OJ只给一个文本框叫我进去,我的方法就是把body()及以上的所有东西拷贝到OJ输入去,然后把body改名成main。如果要提交文件就重新建一个cpp文件,也是拷贝改名。这里其实还是有点麻烦的,能不能把这事也自动化了? 这是我的csdn第一篇文章。这些写作用的宏可真费劲。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |