ACMer菜鸟心得之ACM的输入
Posted xdaniel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACMer菜鸟心得之ACM的输入相关的知识,希望对你有一定的参考价值。
大一开始了解ACM,兴趣使然,看了些刘汝佳写的书,颇有心得,于是记录下来,不定时更新。
ACM的输入:
#define LOCAL
#include <stdio.h>
int main()
{
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif
printf("Hello World!
");
return 0;
}
这是一份比较典型的竞赛代码,其中采用的是重定向的方法,build该代码时,系统会在当前目录下自动生成data.in和data.out两个文件,顾名思义,输入部分保存在data.in中,输出部分保存在data.out中,再和OJ系统评判,重定向的部分被写在#ifdef和#endif之间,其意义为:只有定义了LOCAL,才能编译两条freopen语句。
另外,C语言里的很多缩写,知道全称后,你能对其有更深的理解,例如,stdio全称为Standard Input and Ouput(标准输入输出),stdlib全称为standard libarary(标准库)。
ACM的输入(凭我的阅历)有以下几种:
1.直接输入 //不多说
2.多组输入
多组输入分为两种,一种是输入一个案例后,立马输出该案例的结果
#include <stdio.h> int main() { int n,i,a; while(scanf("%d",&n) != EOF) { while(n--) { scanf("%d",&a); printf("%d ",!a); } } return 0; }
其中EOF意思是End Of File,是ACM中经常用到的一个玩意。
另一种是多组输入多组输出,用数组保存结果即可。
以上是关于ACMer菜鸟心得之ACM的输入的主要内容,如果未能解决你的问题,请参考以下文章