第六个测试点过不去,测试数据是两个相同的三千多位的数,输出结果是0,但是我的程序什么也不输出,是为什么呢???
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <cmath>
#include <algorithm>
using namespace std;
string a, b;
int x[100100], y[100100];
int s[100100];
long long cnt1 = 1, cnt2 = 1,ans,flag,n1, n2,cnt,i;
int main()
{
cin >> a >> b;
if (a.length()<b.length()||(a.length() == b.length() && atoi(a.c_str()) < atoi(b.c_str())))
{
flag = 1;
swap(a, b);
}
n1 = a.length();
n2 = b.length();
for (i = n1 - 1; i >= 0; i--)
{
x[cnt1] = a[i] - '0';
cnt1++;
}
for (i = n2 - 1; i >= 0; i--)
{
y[cnt2] = b[i] - '0';
cnt2++;
}
for (i = 1; i < max(cnt1, cnt2); i++)
{
if (x[i] - y[i] < 0)
{
x[i] += 10;
x[i + 1]--;
}
s[i] = x[i] - y[i];
}
cnt = max(cnt1, cnt2) - 1;
while (s[cnt] == 0 && cnt >= 1)cnt--;
if (flag == 1)cout << "-";
for (i = cnt; i >= 1; i--)
{
cout << s[i];
}
return 0;
}