c++输入两个大的整数(40位以内),求它们的差并输出 急哦!!!

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:50:08
输入两个大的整数(40位以内),求它们的差并输出
老师提示char s1[41];char s2[41];char s3[41];
cin>>s1;cin>>s2

#include <memory.h>
#include <iostream>
#include <cstring>

using namespace std;
void minus(char num1[], char num2[], char ret[]);

int main()
{
char num1[41], num2[41], result[42];
memset(result, 0, 42);

cout << "请输入两个数字" << endl;
cin >> num1 >> num2;
minus(num1, num2, result);
cout << result << endl;

return 0;
}

void minus(char num1[], char num2[], char ret[])
{
int l1, l2, i, j;
l1 = strlen(num1), l2 = strlen(num2);
i = l1 - 1, j = l2 - 1;

if (l1 > l2)
{
L1:
for (; j >= 0; --i, --j)
{
int temp = num1[i] - num2[j];

if (temp < 0)
{
num1[i] += (10 - (num2[j] - '0'));
num1[i - 1] -= 1;

for (int k = i - 1; k >= 0; --k)
{
if (num1[k] < '0&