题目:
大整数的减法,求两个大的正整数相减的差
输入:共2行,第1行是被减数a,第2行是减数b(a>b).每个大整数不超过200位,不会有多余的前导零
输出:一行,即所求的差
【样例输入】
999999999999999999999999999999999999
9999999999
【样例输出】
999999999999999999999999990000000000
分析:
一、做大数的减法运算需要考虑问题
1)借位怎么处理?
2)借位后上一位怎么处理?
3)借位后本位怎么处理?
二、相关知识:字符‘9’,数字‘9’,如何相互转换
本质是字符ASCII运算
1)‘9’-‘0’ == 9 或者 ‘9’-48 == 9
2)9+‘0’ == ‘9’
参考代码:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
//求两个不超过200位的大数的差
char a[200],b[200],temp[200];
int a1[200],b1[200],c1[200],i;
int