大整数减法
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
int main()
{
//设定变量两个输入数组,两个倒叙数组一个中间变量
char arr1[200] = {}, arr2[200] = {}, larr1[200] = {}, larr2[200] = {};
char exc[200] = {};
cout << "请输入被减数" << endl;
cin >> arr1;
cout << "请输入减数" << endl;
cin >> arr2;
int len1 = strlen(arr1), len2 = strlen(arr2);
int lenL1 = strlen(larr1), lenL2 = strlen(larr2);
int i = 0, j = 0;
//借位变量(标志变量)
int b = 0;
for (int i = 0; i < len1 ; i++)
{
larr1[i] = arr1[len1-1-i];
}
for (int j = 0; j < len2; j++)
{
larr2[j] = arr2[len2-1-j];
}
//减法运算,进位运算
int m = 0;
if (strcmp(larr1, larr2) == 0)
{
cout << 0;
}
else
{
for (m = 0; m < lenL1 ; m++)
{
if (larr1[m] > larr2[m])
{
exc[m] = larr1[m] - larr2[m] - b;
b = 0;
}
else if (larr1[m] < larr2[m])
{
exc[m] = larr1[m] + 10 - larr2[m] - b;
b = 1;
}
}
}
int k = 0;
while (k < lenL1 )
{
cout << exc[k];
k++;
}
return 0;
}