90分求助!!!
查看原帖
90分求助!!!
809643
dsy2022楼主2023/6/30 10:58
#include <bits/stdc++.h>
using namespace std;
const int maxn = 10090;
char sa[maxn], sb[maxn], tmp[maxn];
int a[maxn], b[maxn], c[maxn];
int main(){
	memset(c, 0, sizeof(c));
	scanf("%s", sa);
	scanf("%s", sb);
	int la = strlen(sa);
	int lb = strlen(sb);
	if(la < lb || ((la == lb) && strcmp(sa, sb) < 0)){
		strcpy(tmp, sa);
		strcpy(sa, sb);
		strcpy(sb, tmp);
		swap(la, lb);
		printf("%c",'-');
	}
	int lc = la > lb ? la : lb;
	for(int i = 0; i < la; i++) a[la - i] = sa[i] - '0';
	for(int i = 0; i < lb; i++) b[lb - i] = sb[i] - '0';
	for(int i = 1; i <= lc; i++){
		if(a[i] < b[i]){
			a[i] += 10;
			a[i+1]--;
		}
		c[i] = a[i] - b[i];
	}
	while(c[lc] == 0) lc--;
	for(int i = lc; i >= 1; i--)printf("%d", c[i]);
	return 0;
}

2023/6/30 10:58
加载中...