首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

2的100次方,找错,错在哪里,求解脱,该怎么解决

2012-05-27 
2的100次方,找错,错在哪里,求解脱#include stdio.hint main(){int a[8] a[0] 1inti , j, k , lfor(

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;
}
求给力,

[解决办法]

C/C++ code
#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");} 

热点排行