📄 plus_or_minus.txt
字号:
char Plus_or_Minus(HugeNum* Num1,HugeNum* Num2,HugeNum* Num3)
{
BiteNode *p1,*p2,*pt,*p0=NULL;
p1=Num1->Dot;p2=Num2->Dot;
while(p1&&p2&&p1->nextbite&&p2->nextbite)
{
p1=p1->nextbite;
p2=p2->nextbite;
}
if(p1&&p1->nextbite)//
p0=p1->nextbite;
if(p2&&p2->nextbite)
p0=p2->nextbite;
while(p0)
{
pt=(BiteNode*)malloc(sizeof(BiteNode));
pt->bite=p0->bite;
pt->prebite=Num3->Lowest;
pt->nextbite=NULL;
if(Num3->Highest==NULL)
Num3->Highest=pt;
if(Num3->Lowest!=NULL)
Num3->Lowest->nextbite=pt;
Num3->Lowest=pt;
p0=p0->nextbite;
}//while
while(p1&&p2)
{
pt=(BiteNode*)malloc(sizeof(BiteNode));
pt->bite=p1->bite+p2->bite;
if(Num3->Dot==NULL&&p1==Num1->Dot)
Num3->Dot=pt;
if(Num3->Lowest==NULL)
Num3->Lowest==pt;
pt->prebite=NULL;
pt->nextbite=Num3->Highest;
if(Num3->Highest!=NULL)
Num3->Highest->prebite=pt;
Num3->Highest=pt;
p1=p1->prebite;
p2=p2->prebite;
}//while
p0=NULL;
if(p1)
p0=p1;
if(p2)
p0=p2;
while(p0)
{
pt=(BiteNode*)malloc(sizeof(BiteNode));
pt->bite=p0->bite;
pt->prebite=NULL;
pt->nextbite=Num3->Highest;
if(Num3->Highest)
Num3->Highest->prebite=pt;
Num3->Highest=pt;
if(Num3->Lowest==NULL)
Num3->Lowest=pt;
if(Num3->Dot=NULL)
Num3->Dot=pt;
p0=p0->prebite;
}
Cut_0(Num3);
if(Num3->Highest->bite>=0)//根据加和后最高项的符号决定该大数的符号
{Num3->NP=1;return('+');}
else
{Num3->NP=-1;return('-');}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -