Problem Address:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1213
简单的大数加。正整数的。
写少一个句子,WA了一次。
贴代码:
#include <iostream>using namespace std;int sumlen;void add(char s[], int sum[]){ int len=strlen(s); int i,j,p=0; for (i=len-1,j=0; i>=0; i--,j++) { sum[j] += s[i]-'0'+p; if (sum[j]>9) { sum[j] = sum[j]%10; p = 1; } else { p = 0; } } while(p==1) { sum[j]++; if (sum[j]>9) { sum[j] = sum[j]%10; p = 1; } else { p = 0; } j++; } if (j>sumlen) sumlen = j;}int main(){ char s[201]; int sum[210]; int n,i; while(scanf("%d", &n)!=EOF) { if (n==0) break; memset(sum, 0, sizeof(sum)); sumlen = 0; for (i=0; i<n; i++) { scanf("%s", s); add(s, sum); } for (i=sumlen-1; i>=0; i--) printf("%d", sum[i]); printf("/n"); } return 0;}