我这个题目是杭电OJ上的pb1002,具体问题如下:
然后下面是我的c语言代码:
#include
#include
int main(){
// #define test
// #ifdef test
// freopen("pb1002.in", "r", stdin);
// freopen("pb1002.out", "w", stdout);
// #endif
char a[1001], b[1001];
int x[1001]={0}, y[1001]={0}, z[1001]={0};
int k=0, n, i, len1, len2, maxlen;
scanf("%d", &n);
while(k++"%s %s", &a, &b);
len1=strlen(a);
len2=strlen(b);
for(i=0; ix[i]=a[len1-1-i]-'0';
for(i=0; iy[i]=b[len2-1-i]-'0';
maxlen=(len1>len2)?len1:len2;
for(i=0; ix[i]+y[i];
for(i=0; iif (z[i]/10) {
z[i]=z[i]%10;
z[i+1]++;
}
}
printf("Case %d:\n", k);
printf("%s + %s = ", a, b);
if (z[maxlen]) printf("%d", z[maxlen]);
for(i=maxlen-1; i>=0; i--){
printf("%d", z[i]);
}
if (k!=n) printf("\n\n");
}
return 0;
}
提交后显示我的是WRONG ANSWER, 希望有人能帮我看看哪里的问题,感谢感谢
老掉牙的算法用了5个数组,新算法用2个数组即可,而且数组每单元可动态存储不同位数从1位到安全的8位或18位,扩展后的万位数组可以运算倍数位,按每单元5位运算结果.设计加法应注意连续进位处理.设计减法应该注意连续借位处理.
链接:https://ac.nowcoder.com/acm/contest/320/E
来源:牛客网
题目描述
计算一系列数的和
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入
2
4 1 2 3 4
5 1 2 3 4 5
输出
10
15