• 新用户必读:常见的输入输出问题

    访问次数:22398
             考虑到C语言的初学者在输入技巧的掌握方法还不是非常娴熟,因此,NBU OJ把题号1000~1500中的很多题目设置为基础编程题目,对这部分题目提供常规输入模式的支持。

            常规输入模式即在程序的一次运行过程中,仅测试一组数据。其输入形式见表1。

    表1 NBU OJ支持的常规模式输入

             NBU OJ要求输入输出的信息与题目所给的样例保持一致,比如对于1002题计算A+B的题目,题目要求输入a和b,计算求和的结果并输出。给出的样例是:

    Sample Input

    5 9

    Sample Output

    14

            按照NBU OJ提供的常规输入模式,本题正确的代码形式如下:

    #include 
    int main()
    {
        int a,b,c;
        scanf("%d%d",&a,&b);  /* 这里的两个%d之间不要加其他间隔符号*/
        c=a+b;
        printf("%d\n",c);   /*输出数据后加换行符'\n'*/
        return 0;
    }

    说明如下:

    (1)输入样例中,数据间是以空格间隔的,因此scanf语句中两个%d之间不需要再添加逗号或其他的间隔符号。

    (2)输入样例中,如果除了格式控制以外没有其他提示信息,就不要随意添加“Enter two numbers”之类的信息。平时编程时可能希望添加这些信息使交互更友好,但是OJ系统仅关注如何又快又准地解决问题,而不提倡添加过多的与解决任务无关的信息。

    (3)输出样例中一般只有结果的输出,这时候也不要添加输出的提示信息,如“Sum=”之类的信息也都是多余的。除非样例中有要求。

    (4)输出数据的后面要添加换行符'\n',如“printf("%d\n",c);”。

    以上几点都是在OJ系统答题时要注意的,否则在判断题时会被认为是错误的,即使程序在本地机器上运行都是正确的。