今天练得一个小程序,不算难,但是因为开始算法错了,废了我很多时间找错,最后发现此路不通,果断换一下思路
以下是代码:
/*输出2的1000次方*/
#include <stdio.h>
int main(void)
{
int a[1000]; //先定义一个足够大的数组
int i,j;
for(i=0; i<1000; i++) //先置零
{
a[i] = 0;
}
a[0] = 1;
for(i=0; i<1000; i++) //2的1000次方,所以执行1000次
{
for(j=0; j<1000; j++) //按位乘2
{
a[j] *= 2;
}
for(j=0; j<1000; j++) //进行进位处理
{
if(a[j] > 9) //大于9的需要进1
{
a[j+1]++; //高一位进1
a[j] = a[j] % 10;
}
}
}
for(i=999; i>=0; i--) //打印
{
printf("%d",a[i]);
}
}