大數相加減

2021-10-25 05:21:15 字數 1948 閱讀 2958

.寫乙個函式,實現大整數的相加,相減。

大整數:即沒有任何資料型別可以儲存到的資料 */

#include

#include

char result[

100]=;

int l1,l2;

int flag =0;

// 進製/借位標誌

int i,j,k;

//加法

void

num_add

(char

* num1,

char

* num2)

k++;}

for(

;i >=

0;i--

) k++;}

}else

if(l1 == l2)

k++;}

}else

//l1 < l2

k++;}

for(

;j >=

0;j--

) k++;}

}for

(k = k-

1;k >=

0;k--

)puts(""

);}//減法

void

num_subtraction

(char

* num1,

char

* num2)

result[k]

=(num1[i]

-'0'

+ flag)

-(num2[j]

-'0');

flag =0;

k++;}

for(

;i >=

0;i--)}

else

if(l1 == l2)

result[k]

=(num1[j]

-'0'

)+ flag -

(num2[j]

-'0');

flag =0;

k++;}

for(k = k;k >=

0;k--

)puts(""

);return;}

if(num1[i]

< num2[i]

)//陣列num1表示的數 < 陣列num2表示的數

result[k]

=(num2[j]

-'0'

)+ flag -

(num1[j]

-'0');

flag =0;

k++;}

printf

("-");

for(k = k;k >=

0;k--

)puts(""

);return;}

}printf

("0\n");

//陣列num1表示的數 = 陣列num2表示的數

return;}

else

//l1 < l2

result[k]

=(num2[j]

-'0'

+ flag)

-(num1[i]

-'0');

flag =0;

k++;}

for(

;j >=

0;j--

)printf

("-");

}for

(k = k -

1;k >=

0;k--

)puts(""

);}int

main()

;char b[

100]=;

char ch;

scanf

("%s %c %s"

,a,&ch,b);if

(ch ==

'+')

if(ch ==

'-')

return0;

}

大數相加減,大數相乘(減法還沒弄)

415.字串相加 給定兩個字串形式的非負整數 num1 和num2 計算它們的和。方法1 用字串的解法,從低位開始對應相加,然後設定乙個carry變數表示進製。每次得到的插入到現在結果開頭就可以了。class solution int i num1.size 1,j num2.size 1 int ...

大數相加 減 乘 除 取餘 模板

string sum string s1,string s2 大數相加 int i,j for i s1.length 1,j s2.length 1 i 0 i j return s1 string sub string s1,string s2 大數相減 for int i len 1 i 0 ...

時間相加減函式

時間減1函式 create function f dateadd date datetime,datestr varchar 23 returns datetime asbegin declare bz int,s varchar 12 i int if datestr is null or dat...