P2142 高精度减法 (输出错误求助!~)
查看原帖
P2142 高精度减法 (输出错误求助!~)
502426
快乐一凡楼主2021/6/13 14:54

哪位大佬帮帮我把!

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
char s1[201],s2[201],t[201];
int a[201],b[201],c[201];
int i,x,lena,lenb,lenc;
int main()
{
	gets(s1);
	gets(s1);
	if(strlen(s1)<strlen(s2)||((strlen(s1)==strlen(s2)&&strcmp)))
	{
		strcpy(t,s1);
		strcpy(s1,s2);
		strcpy(s2,t); 
		cout<<"-";
	}
	lena=strlen(s1);
	lenb=strlen(s2);
	lenc=lena;
	for(i=1;i<=lena;i++)
	{
		a[i]=s1[lena-i]-'0';
	}
	for(i=1;i<+lenb;i++)
	{
		b[i]=s2[lenb-i]-'0';
	}
	for(i=1;i<=lenc;i++)
	{
		if(a[i]<b[i])
		{
			a[i]=a[i]+10;
			a[i+1]--;
		}
		c[i+1]--;
	}
	while(c[lenc]==0&&lenc>1)
	{
		lenc--;
	}
	for(i=lenc;i>=1;i--)
	{
		cout<<c[i];
	}
	return 0;
}
2021/6/13 14:54
加载中...