怎样用c语言数组来编2的100次方
发布网友
发布时间:2023-04-02 11:09
我来回答
共5个回答
热心网友
时间:2023-11-30 04:42
int array[40] = {0};
array[0] = 1;
for(int i=1; i<=100; i++)
{
for(int j=0; j<39; j++)
{
array[j] *= 2;
array[j+1] = array[j]/10;
array[j] %= 10;
}
}
把array 按下标从高往低输出, 得到的就是2 的100 次方
前导零 没有用, 输出时自己判断 控制从何时开始输出
热心网友
时间:2023-11-30 04:43
#include "stdio.h"
int main()
{ double i,t=1;
for(i=1;i<=100;i++)
t=t*2;
printf("%f",t);
}
因为2的100次方结果数据太大,超过了long int 表示的数据,所以采用了double类型。
热心网友
时间:2023-11-30 04:43
int A(int a, int b)
{
int j = 1;
int i;
for(i=1;i<=b;i++)
{
j = j*a;
}
return j;
}
在这上面打的,没有编译试一下,有错的请包含。还有忽略一切错误检测代码
热心网友
时间:2023-11-30 04:44
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
#define LOG2 0.30102999566398
int main()
{
int i,j,cy,pos;
int *res;
res = (int*)malloc((int)(LOG2*N)+1);
memset(res,0,sizeof(res));
pos = 0;
res[pos] = 1;
for(i=1;i<=N;++i)
{
cy=0;
for(j=0;j<=pos;++j)
{
cy = res[j]*2+cy;
res[j] = cy%10000;
cy = cy/10000;
if(j==pos&&cy>0)
{
res[++pos]=cy;
break;
}
}
}
for(j=pos;j>=0;--j)
{
printf((j==pos?"%d":"%04d"),res[j]);
}
system("pause");
return 0;
}
热心网友
时间:2023-11-30 04:44
main()
{
int i,sum;
for(i=1;i<=200;i++)
sum*=2;
printf("%d",sum);
}