社区讨论
10分求调
P2142高精度减法参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @m5o0c7q1
- 此快照首次捕获于
- 2025/01/08 22:41 去年
- 此快照最后确认于
- 2025/11/04 11:51 4 个月前
哪错了???
CPP#include <iostream>
#include <cstring>
using namespace std;
int main(){
string s1, s2;
getline(cin, s1);
getline(cin, s2);
int a1[10087]= {0};
int a2[10087]= {0};
int a3[10087]= {0};
char flag = '+';
if (s1.size() < s2.size() || s1.size() == s2.size() && s1 < s2){
swap(s1, s2);
flag = '-';
}
for (int i = 0; i < s1.size(); i++){
a1[i] = s1[s1.size() - i - 1] - '0';
}
for (int i = 0; i < s2.size(); i++){
a2[i] = s2[s2.size() - i - 1] - '0';
}
for (int i = 0; i < s1.size(); i++){
if (a1[i] < a2[i]){
a1[i] = a1[i] + 10;
a1[i + 1] = a1[i + 1] - 1;
}
a3[i] = a1[i] - a2[i];
}
if (flag == '-'){
cout << flag;
}
int index = 0;
for (int i = s1.size() - 1; i >=0; i--){
if (a3[i] != 0){
index = i;
break;
}
}
for (int i = index; i >= 0; i--){
cout << a3[i];
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...