大數加法,大數乘法

2021-10-11 02:44:25 字數 3238 閱讀 5122

#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...