首页 > 其他 > 详细

Online Judge判题结果解析

时间:2015-11-25 01:06:55      阅读:314      评论:0      收藏:0      [点我收藏+]

 

输出超限(output limit exceeded)

 

一般是输入控制没有处理好,更少见的情况是涉及输出的地方没有控制好(如死循环);最终导致输出的信息过多超出了限制。

 

 

问题 G: 进制转换

题目描述

 给出一个十进制的正整数,输出它的二进制表示。

输入

有多行数据,每一行一个正整数,整数值在[1-100000000]之间。

输出

输出相应的二进制数.每一行输出对应每一行输入

样例输入

3 4

样例输出

11 100
 
下面是一个能产生“输出超限”的代码
 1 int main()
 2 {
 3     int n,a;
 4     int p[31];
 5     for (;scanf ("%d",&n);)
 6     {
 7 
 8         ...
 9         while (j--)
10             printf ("%d",p[j]);
11         printf ("\n");
12 
13     }
14     return 0;
15 }

原因非常简单,正确的控制应该是

 scanf ("%d",&n) != EOF
这个同学的写法导致循环一直执行,不断产生输出,从而输出超限。

Online Judge判题结果解析

原文:http://www.cnblogs.com/4bytes/p/4993443.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!