ACMer菜鸟心得之ACM的输入

混江龙づ霸主 提交于 2019-12-09 23:41:33

  大一开始了解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!\n");
    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\n",!a);
        }
    }
    return 0;
}

其中EOF意思是End Of File,是ACM中经常用到的一个玩意。

另一种是多组输入多组输出,用数组保存结果即可。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!