#include
#include
#include
typedef
struct node
*pnode;
/*******************函式宣告**********************/
int multiply (
char
* strmultipliera,
char
* strmultiplierb,
char
* strrst)
;pnode initlist
(char
* strmultiplier)
;void
multiplya
(pnode phead1, pnode pflag,
int shuzhi )
;void
dsxj
(pnode pheadtemp, pnode pheadstrrst)
;void
dsxj2
(pnode pheadtemp, pnode pheadstrrst,
char
* strrst)
;pnode creatlist
(pnode phead)
;int
menu()
;void
dscf()
;/*主選單*/
intmenu()
//大數乘法
void
dscf()
}if(flag==0)
//如果ab分配失敗 返回
switch
(ch)
//根據操作符 進入相應運算
printf
("\n");
system
("pause");
}int
main()
}while
(choice!=0)
;//選擇0則退出程式
return0;
}//引數分別是運算元a 運算元b 答案
int multiply (
char
* strmultipliera,
char
* strmultiplierb,
char
* strrst)
tempnode =
(pnode)
malloc
(sizeof
(node));
tempnode-
>shuzhi =0;
tempnode-
>pnext =
null
; tempnode-
>pup = p1;
p1->pnext = tempnode;
p2 = p2-
>pnext;
}//使p1指向最後乙個節點
p1 = pheadstrrst;
while
(p1-
>pnext!=
null
)//使p1指向最後乙個非0節點
while
((p1-
>shuzhi ==0)
&&(p1 != pheadstrrst-
>pnext)
)//賦值給strrst
pch = strrst;
while
(p1 != pheadstrrst)
*pch =
'\0'
; pch = strrst;
return0;
}//根據字串 建立雙向鍊錶
pnode initlist
(char
* strmultiplier)
pch--
;//頭指標不使用,只用來作為煉表頭
phead =
(pnode)
malloc
(sizeof
(node));
phead-
>shuzhi =0;
phead-
>pnext =
null
; phead-
>pup =
null
; p = phead;
while
(pch>=strmultiplier)
return phead;
}//phead1鍊錶與shuzhi的乘積
void
multiplya
(pnode phead, pnode pflag,
int shuzhi )
ptemp-
>shuzhi = carry;
}//大數求和:pheadtemp與pheadstrrst求和
void
dsxj
(pnode pheadtemp, pnode pheadstrrst)
while
(carry !=0)
p2 = p2-
>pnext;}}
//大數求和:pheadtemp與pheadstrrst求和
void
dsxj2
(pnode pheadtemp, pnode pheadstrrst,
char
* strrst)
p2 = p2-
>pnext;
p1 = p1-
>pnext;
}while
(carry !=0)
p2 = p2-
>pnext;
}//使p1指向最後乙個節點
p1 = pheadstrrst;
while
(p1-
>pnext!=
null
)//使p1指向最後乙個非0節點
while
((p1-
>shuzhi ==0)
&&(p1 != pheadstrrst-
>pnext)
)//賦值給strrst
char
* pch = strrst;
while
(p1 != pheadstrrst)
*pch =
'\0'
; pch = strrst;
}//根據phead建立鍊錶
pnode creatlist
(pnode phead)
return pheadtemp;
}
大數乘法 大數加法實現
include include include include include include include include using namespace std 實現兩個數的加法 判斷乙個字串是否為有效的數 bool isvalidnumber const string s if 1 len ...
大數問題 大數加法 與 大數乘法 最簡單大數乘法
大數加法很簡單,大叔乘法只是以大數加法為基礎的,光從難度來說,兩者差不多。先舉乙個簡單的例子 所以乘法就是每一位個位數相乘再乘以多少次方就可以了,這個多少次就是兩者的陣列位置的索引相加。看看關鍵 for int i 0 i alen i else result plus result,c heigh...
演算法 大數加法和大數乘法
大數加法 以字串的形式讀入兩個數字,編寫乙個函式計算它們的和,以字串形式返回。字串長度不大於100000,保證字串僅由 0 9 這10種字元組成 public string solve add string s,string t else if j 0 else int sum x y m m su...