高精度Fibonacci数列的算法

以下是我的代码,各位大佬帮我看哈哪里错了,问题链接:https:www.oj.swust.edu.cn/problem/show/1011 #include
#include
#include
int a[1001][1001]={0};
using namespace std;
int main()
{
int i,j,t=1,sum=0;
a[1][1000]=1;
a[2][1000]=1;
for(i=3;i {
for(j=1000;j>0||t!=0;j--)
{
t=a[i-1][j]+a[i-2][j];
a[i][j]=(sum+t)%10;
sum=t/10;
}
}
int n;
while(scanf("%d",&n)!=EOF&&n)
{
for(j=1;a[n][j]==0;j++)
;
for(i=j;i<=1000;i++)
printf("%d",a[n][i]);
printf("\n");
}
return 0;
}

c语言不太懂,java还是懂一点的

http://blog.csdn.net/chenchong08/article/details/7720450