文章
25
粉丝
364
获赞
8
访问
219.0k
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{
char num[1001];//从低位到高位存储
int n;//有多少位
}BigInteger;
//对调位置,使按低位到高位存储
void Reverse(BigInteger *BI)
{
char tmp;
for (int i = 0; i < BI->n; i++)
{
BI->num[i]-='0';//化为整形
}
for (int i = 0; i < BI->n/2; i++)
{
tmp=BI->num[i];
BI->num[i]=BI->num[BI->n-i-1];
BI->num[BI->n-i-1]=tmp;
}
return;
}
//相加的结果存放在augend
void Add(BigInteger *augend,BigInteger *addend)
{
char flag=0;//进位标志
char res;
for (int i = 0; i < addend->n; i++)
{
res=augend->num[i]+addend->num[i]+flag;
augend->num[i]=res%10;
flag=res/10;
}
if (flag)
{
augend->num[augend->n++]=1;
}
return;
}
//输出结果
void Output(BigInteger *res)
{
for (int i = res-...
登录后发布评论
暂无评论,来抢沙发