今天做了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的时候,不能正常结束程序,导致时间超时!!!