先贴写法
#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第一篇文章。这些写作用的宏可真费劲。