**如下:
#include#include#include
using
namespace
std;
intmain()
lena=strlen(n1);lenb=strlen(n2);//
確定位數
for(i=0;i<=lena-1;i++)a[lena-i]=int(n1[i]-48);///
/利用ascll碼性質,0的ascll碼為48.減去零就是ascll減去48,成功將字元轉化為數字
for(i=0;i<=lenb-1;i++)b[lenb-i]=int(n2[i]-48);//
同上 while(i<=lena||i<=lenb)
c[i]=a[i]-b[i];//
對應位相減得到對應的c
i++;//
繼續下一位
} lenc=i;
while(c[lenc]==0&&lenc>1)//
如果最高為上為零,lenc減一,消去
lenc--;
for(i=lenc;i>=1;i--)//
此for用來一位一位倒序輸出
cout
}
高精度減法
題目描述 高精度減法 輸入輸出格式 輸入格式 兩個數 第二個可能比第乙個大 輸出格式 結果 是負數要輸出負號 輸入輸出樣例 輸入樣例 1 2 1 輸出樣例 1 1說明 這也沒什麼好說的,沒什麼特別的要求,就是乙個普普通通的高精減。程式如下 const max 500 var s integer a,...
高精度減法
description 輸入兩個整數a和b,輸出這兩個整數的差。a和b都不超過100位。input 輸入包括兩行,第一行為乙個非負整數a 被減數 第二行為乙個非負整數b 減數 兩個整數都不超過100位,兩數的最高位都不是0。output 輸出一行,表示a b的值。sample input 99999...
高精度減法?!
高精減 嗯輸入就不再講一遍了。儲存和之前是一樣的,倒序儲存。減法需要借位,所以解決減法借位是關鍵。方法如下 if a i a i 1 向上一位借一做十 a i 10 c i a i b i 逐位相減這樣就可以處理借位問題。當然,在減法中還有乙個需要處理的問題,當然這個問題很重要 減法中有被減數和減數...