關於大數減法其核心就是:減法的演算法也是從低位開始減,先要判斷減數和被減數那乙個位數長,被減數字數長是正常減;減數字數長,則減數-被減數,最後還要加上負號;兩個位數長度相等時,最好比較哪乙個數大,否則負號會處理的很繁瑣;處理每一項時,要先按對應的位用被減數減去減數,用陣列存入,如果差小0,需要向上一位借位,再把這一位的差加10,以此類推。
**如下:
//大數減法
#include#include#define m 100005
using namespace std;
char s1[m],s2[m],s[m];
int a[m],b[m],c[m];
/*較大數減去較小數,即正常減*/
void ss(char s1,char s2,int n,int m)
else if(k>0)
ss(s1,s2,n,m);
else
}if(n>m) kk=n;
else kk=m;
while(c[kk]==0) kk--;//排除前導0
for(i=kk; i>=0; i--)
printf("%d",c[i]);
printf("\n");
}return 0;
}
C語言大數運算 減法篇
前言 前面介紹了有關的思想,和本片部落格的測試環境,所以作為第二篇的減法篇就不再過多的介紹,直接開始關於大數加法的實現。大數減法 與加法類似,還是將使用者的輸入和結果放入變長的陣列中然後模仿手工運算從低位到高位依次相減,會有三個需要解決的問題,其中前二個和大數加法的問題很相似,所以就不再詳細說明。問...
大數的加減法(C語言版)
大數 首先大數就是超出比 long long int 範圍的數值。那麼超出範圍後應該怎樣計算呢。下面就介紹大數的加減法 對於初學者來說 可能會有點長,但是原理很簡單的。ac include include include char s1 1001 s2 1001 首先定義兩個字元陣列來輸入大數。in...
大數減法演算法
輸入兩個大數,把兩個大數各用字元陣列存起來 用兩個函式,乙個加法函式,乙個減法函式 總的程式為 include includeint ans 1003 void zhuan char a,int n for int i t iy i return 1 if x i 9 void jian int x...