C语言高精度计算 整数减法描述两个十进制非负整数M和N,计算二者的差,既M-N.M、N最多可以是长度为200位的整数.输入多组数据,每组数据先是一行表示M,然后一行表示N.M和N开头均无冗余的0.输出

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/20 12:39:41
C语言高精度计算整数减法描述两个十进制非负整数M和N,计算二者的差,既M-N.M、N最多可以是长度为200位的整数.输入多组数据,每组数据先是一行表示M,然后一行表示N.M和N开头均无冗余的0.输出C

C语言高精度计算 整数减法描述两个十进制非负整数M和N,计算二者的差,既M-N.M、N最多可以是长度为200位的整数.输入多组数据,每组数据先是一行表示M,然后一行表示N.M和N开头均无冗余的0.输出
C语言高精度计算 整数减法
描述
两个十进制非负整数M和N,计算二者的差,既M-N.
M、N最多可以是长度为200位的整数.
输入
多组数据,每组数据先是一行表示M,然后一行表示N.M和N开头均无冗余的0.
输出
每行一个数,表示M-N,开头不能有冗余的0,既不能输出05这样的数,而应该直接输出5.
样例输入
9999
4567
0
1
样例输出
5432
-1

C语言高精度计算 整数减法描述两个十进制非负整数M和N,计算二者的差,既M-N.M、N最多可以是长度为200位的整数.输入多组数据,每组数据先是一行表示M,然后一行表示N.M和N开头均无冗余的0.输出
用高精度算法来实现,即用数组或指针来储存数字,例如A〔20〕来储存a ,用B〔20〕来储存b,这样a 和b就可以是很大的数,再用一个C〔21〕来储存结果,为什么C要21呢,你知道,加法是要近位的,这里给出相加的伪代码,d =0/*用来存储近位*/,for i=0到19{c=A〔i〕+B〔i〕+d ,d =c/10,c=c%10,C〔i〕=c}if d 不等于0 C〔i+1〕=d ,再逆的输出C就可以了!编程要学会思考,现在你可以试试编下高精度乘法,例如可以输出100的阶乘!