# include & ltstdio.h & gt
# include & ltstring.h & gt
void sum(字符a【】,字符b【】)
{
int i,n,k;
for(I = strlen(b)-1,k = 0;我& gt=0;k++,i -)
{
a【k】+= b【I】-“0”;
n = k;
while(a【n】》;'9')
{
a【n+1】+=(a【n】-‘0‘)/10;
a【n】=(a【n】-‘0’)% 10+‘0’;
n++;
}
}
}
int main()
{
char a【101】,b【101】,fib【500】【201】= { 0 },ch;
int i,j,k,c,n;
strcpy(fib【1】,“1“);
strcpy(fib【2】,“2“);
fib【0】【0】=‘1‘;
for(I = 1;我& lt101;i++)
fib【0】【I】=‘0‘;
for(I = 3;我& lt500;i++)
{
for(j = 0;j & lt201;j++)
fib【I】【j】=‘0‘;
}
for(I = 3;;i++)
{
sum(fib【I】,fib【I-1】);
sum(fib【I】,fib【I-2】);
for(j = 200;fib【I】【j】= =‘0‘;j-);
fib【I】【j+1】=‘\ 0‘;
for(k = 0;k & lt= j;k++,j -)
{
ch = fib【I】【k】;
fib【I】【k】= fib【I】【j】;
fib【I】【j】= ch;
}
if(strlen(fib【I】)& gt;100 | |(strlen(fib【I】)= = 101 & amp;& ampstrcmp(fib【I】,fib【0】)& gt;=0))
打破;
}
n = I;
for(I = 0;我& lt100;i++)
{
printf(“fib【% d】= % s \ n“,I,fib【I】);
}
/* while(scanf(“% s % s“,a,b)!= EOF & amp& amp(strcmp(a,“0“)!= 0 | | strcmp(b,“0“!=0))
{
c = 0;
for(I = 1;我& lt= n;i++)
{
if(strcmp(fib【I】,a)& gt;= 0 & amp& ampstrlen(fib【I】)= = strlen(a)| | strlen(fib【I】)& gt;strlen(a))
if(strcmp(b,fib【I】)& gt;= 0 & amp& ampstrlen(b)= = strlen(fib【I】)| | strlen(b)& gt;strlen(fib【I】))
c++;
}
printf(“% d \ n“,c);
}*/
}