2的100次方,找错,错在哪里,求解脱
#include <stdio.h>
int main()
{
int a[8] ;
a[0] = 1;
int i , j , k , l;
for(l=1; l<=8; l++) a[l]=0;
for(i=1; i<=100; i++)
{
for(j=0; j<= 8; j++)
{
a[j] = a[j]*2;
if(a[j]>10000)
a[j+1] += a[j]-10000;
}
}
for(k=0; k<=8; k++)
printf("%d",a[k]);
return 0;
}
求给力,
[解决办法]
#include <stdio.h>void main(){ int a[8]; int i,j,k,l; a[0]=1; for(l=1; l<8; l++) a[l]=0; for(i=0; i<30; i++) { for(j=7; j>=0; j--) //这里要反序,否则进位的会乘以2 { a[j] = a[j]*2; if(a[j]>10000) { a[j+1]++; a[j]-=10000;//要减去进位的值 } } } for(k=7; k>=0; k--)//这里显示要先显示高位 printf("%04d",a[k]); //%04d让不满4位的用0补充 system("pause");}