大數相加的題目,不知道錯在哪了,測了多組資料都沒錯,希望大神們可以幫我看看

下面是代碼:
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int t,num = 1,temp = 0,u = 0;
cin >> t;
while(t--){
u++;
char a[1005] = {0},b[1005] = {0};
int c[1005] = {0},d[1005] = {0},sum[1005] = {0};
cin >> a >> b;
int Asize = strlen(a);
int Bsize = strlen(b);
for(int i = Asize - 1,j = 0; i >= 0; i--){
c[i] = a[j++] - '0';
}
for(int i = Bsize - 1,j = 0; i >= 0; i--){
d[i] = b[j++] - '0';
}
int q = 0,w = 0,i = 0;
for(i; i < (Asize <= Bsize?Asize:Bsize); i++){
w++;
temp = c[i] + d[i];
if(temp > 9){
temp %= 10;
sum[i] = temp + q;
q = 1;
}else{
if(temp + q > 9){
sum[i] = (temp + q) % 10;
q = 1;
}else{
sum[i] = temp + q;
q = 0;
}
}
}
while(i <= (Asize > Bsize?Asize:Bsize)){
if(Asize > Bsize){
temp = c[i] + q;
}else{
temp = d[i] + q;
}
if(temp > 9){
temp %= 10;
q = 1;
}else{
q = 0;
}
sum[i++] = temp;
}
cout << "Case " << u << ":" << endl;
for(int j = i - 1; j >= 0; j--){
if(j == i - 1 && sum[j] == 0)continue;
cout << sum[j];
}
cout << endl;
// for(int j = 0; j < i; j++){
// cout << "sum[" << j << "]:" << sum[j] << endl;
// }
}
return 0;
}
uj5u.com熱心網友回復:
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=2§ionid=3&problemid=1 這是題目uj5u.com熱心網友回復:
驗證一下0+0轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/284880.html
標籤:C++ 語言
上一篇:去除重復值
