您的位置:首页 > 其它

[水题]杭电1092,对比

2015-07-20 17:03 183 查看
今天做了1092,系统一直提示Time Limit Exceeded,调了半天代码,没用,最后找了别人AC过的代码,对比了一下。

#include <stdio.h>
int main()
{
int i,j,a[1000],t;
while(scanf("%d",&i)!=0)
{
t=0;
for (j=0;j<i;j++)
{

scanf("%d",&a[j]);
t=t+a[j];
}
printf ("%d\n",t);
}

return 0;
}


这是WA的代码

#include <stdio.h>
int main(void)
{
int a, n, i, sum;
while(scanf("%d", &n) && n != 0)
// while(scanf("%d",&i)!=0)这个用法是错误的
{
sum = 0;
for(i = 0; i < n; i ++)
{
scanf("%d", &a);
sum = sum + a;
}
printf("%d\n", sum);
}

return 0;
}


这是别人AC的代码

开始以为就是a[]的问题,认为是使用a[]造成时间超

真正的错误是个语法错误,while(scanf(“%d”,&i)!=0)这个用法是错误的,当值为0的时候,不能正常结束程序,导致时间超时!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: