ans += t[i];(change)
by Carl1264349512 @ 2023-10-31 13:15:14
@[Carl1264349512](/user/1053148) 妙手回春啊大夫,但改了之后提交上去还是有一个错误,输入16和AC27,原本是要输出6的,但是的代码输出的是2
万分感谢
by dreamback_2023 @ 2023-10-31 16:53:51
@[Carl1264349512](/user/1053148) 解决了,翻转数字哪里有问题
by dreamback_2023 @ 2023-10-31 17:12:11
应该是高精的问题,我正在看,而且代码有逻辑重复,主函数中的循坏判断过了,里面就不用判断
by Carl1264349512 @ 2023-10-31 20:15:12
```cpp
string func_add(string add_s1, string add_s2,int n){
memset(add_a, 0, sizeof(int) * maxlen);
memset(add_b, 0, sizeof(int) * maxlen);
memset(add_c, 0, sizeof(int) * rmaxlen);
int len = add_s1.length();
//这里
for (int i = 0; i < len; i++){
if(add_s1[i]>='0' && add_s1[i]<='9') add_a[len - 1 - i] = add_s1[i] - '0';
else add_a[len - 1 - i] = add_s1[i] - 55;
}
len = add_s2.length();
for (int i = 0; i < len; i++){
if(add_s2[i]>='0' && add_s2[i]<='9') add_b[len - 1 - i] = add_s2[i] - '0';
else add_b[len - 1 - i] = add_s2[i] - 55;
}
//一处错误
if (add_s1.length() > len) len = add_s1.length();
for (int i = 0; i < len; i++){
add_c[i] += add_a[i] + add_b[i];
if (add_c[i] >= n){
add_c[i + 1] += add_c[i] / n;
add_c[i] %= n;
}
}
if (add_c[len] > 0) len++;
string add_ans;
//这里
for (int i = len - 1; i >= 0; i--){
if(add_c[i] < 10) add_ans += add_c[i] + '0';
else add_ans += add_c[i]-10+'A';
}
//结束
return add_ans;
}
```
by Carl1264349512 @ 2023-10-31 20:40:17
注释是告诉你从哪改到那,要注意16进制逆序存放和输出,超过了1~9,下次要注意
by Carl1264349512 @ 2023-10-31 20:42:22
@[Carl1264349512](/user/1053148) 好的,十分感谢
by dreamback_2023 @ 2023-11-01 18:33:22