新用户必读:常见的输入输出问题
访问次数:24193 考虑到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提供的常规输入模式,本题正确的代码形式如下:
#includeint 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系统答题时要注意的,否则在判断题时会被认为是错误的,即使程序在本地机器上运行都是正确的。