#3 #8 #9 WA,求助
查看原帖
#3 #8 #9 WA,求助
793142
anmengxun楼主2023/2/25 19:10
#include <iostream>
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
string sub(string s1,string s2)
{
	string ans = "";
	int l1=s1.length();
    int l2=s2.length();
    bool delta = 0;
    if(l1<l2)
    {
        for(int i=1;i<=l2-l1;i++)
           s1="0"+s1;
    }
    else
    {
        for(int i=1;i<=l1-l2;i++)
           s2="0"+s2;
    }
	if (s1.compare(s2) == -1)
	{
		swap(s1,s2);
		delta = 1;
	}
	l2  = s2.length();
	int c = 0;
	int temp;
	for (int i = l2 - 1;i >= 0;i--)
	{
		temp = s1[i]  - s2[i] + c;
		c = 0;
		if (temp < 0)
		{
			temp += 10;
			c = -1;
		} 
		ans = char(temp + '0') + ans;
	}
	ans.erase(0,ans.find_first_not_of('0'));
	if (ans.length() < 1)
	{
		return "0";
	}
	if (delta)
	{
		ans = '-' + ans;
	}
	return ans; 
}
int main()
{
	string s1,s2;
	cin >> s1 >> s2;
	cout << sub(s1,s2);
	return 0;
}

第三个点:

输入: 88460914424991 4291703115049359

输出: -4203242200624368

我在本地测试结果就是这个,可不知道为什么WA了,求助

2023/2/25 19:10
加载中...