很简单的C编程,OJ为什么说Output Limit Exceeded

来源:百度知道 编辑:UC知道 时间:2024/05/05 14:16:42
★问题如下:
Problem Description
统计给定的n个数中,负数、零和正数的个数。

Input
输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。

Output
对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。

★我的C:
#include<stdio.h>
void main()
{int n,i,t,positive=0,zero=0,negative=0;
while(scanf("%d",&n)!=EOF&&n!=0)
{
for(i=0;i<n;i++)
{
scanf(" %d",&t);
if(t>0)
positive++;
else
{
if(t==0)
zero++;
else
negative++;
}
}
printf("%d %d %d\n",negative,zero,positive);
}
return 0;
}

求高手讲下为什么或者有什么不合理的地方,菜鸟我在次拜谢!
去掉了return 0; 在while 中加入 了positive=0,zero=0,negative=0; 还是同样结果
★改为:
#include<stdio.h>
void main()
{int n,i,t,positive=0,zero=0,negative=0;
while(scanf("%d",&n)!=EOF&&n!=0)
{positive=0,zero=0,negati

在while 中加入 positive=0,zero=0,negative=0;
放在while 下面一行
那个void main 没改吗 不是要int main 的吗
scanf(" %d",&t); 没必要的 就这样就行了scanf("%d",&t);

#include<stdio.h>
int main()
{int n,i,positive=0,zero=0,negative=0; float t;
while(scanf("%d",&n)!=EOF&&n!=0)
{
positive=0,zero=0,negative=0;
for(i=0;i<n;i++)
{
scanf("%f",&t);
if(t>0)
positive++;
else
{
if(t==0)
zero++;
else
negative++;
}
}
printf("%d %d %d\n",negative,zero,positive);
}
return 0;
}

可以AC

哪个OJ的哪道题啊。
void main没有返回值,不需要return 0啊,
要么用int main, 要么去掉return 0.
读了一遍程序貌似没错

将最后的return 0; 去掉