📄 b0226078_c7.c
字号:
#define N 4000
#include<malloc.h>
#define OVERFLOW -1
#include<stdio.h>
struct node
{
char bit;
char c;/*进位*/
};
main()
{
struct node *p,*head;
int i,j;
int flag;
int n;
printf("请输入指数:\n");
scanf("%d",&n);
head=p=(struct node *)malloc(N*sizeof(struct node));
if(!p) exit(OVERFLOW);
for(i=0,p=head;i<N;i++,p++)
{
if(i==0)p->bit=1;
else p->bit=0;
p->c=0;
}
p=head;
for(i=0;i<n;i++)
{
for(j=0,p=head;j<N;j++,p++)
{
p->bit<<=1;
if(p->bit>=10)
{
(p+1)->c=1;
p->bit-=10;
}
p->bit+=p->c;
p->c=0;
}
}
printf("2的%d次方为:\n\t",n);
p=head;
for(i=N-1;i>=0;i--)
{
if(p[i].bit)
{
flag=i;
break;
}
}
for(i=flag;i>=0;i--)
{
if((flag-i)%78==0) printf("\n");
printf("%d",p[i].bit);
if(i==flag)printf(".");
}
printf("E+%d",flag);
printf("\n");
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -