uva 424 Integer Inquiry(大数加法)
发布时间:2020-12-14 04:05:25 所属栏目:大数据 来源:网络整理
导读:大数加法。 #includecstdio#includecstringusing namespace std;int main(){ char str[105][105]; int num[105][105]; int sum[105]; int len[105]; int i = 0,maxlen = 0; memset(num,sizeof(num)); memset(sum,sizeof(sum)); while(scanf("%s",str[i++]) s
大数加法。 #include<cstdio> #include<cstring> using namespace std; int main() { char str[105][105]; int num[105][105]; int sum[105]; int len[105]; int i = 0,maxlen = 0; memset(num,sizeof(num)); memset(sum,sizeof(sum)); while(scanf("%s",str[i++]) && str[i-1][0]!='0') { } for(int j = 0 ; j < i ; j++) { len[j] = strlen(str[j]); if(maxlen < len[j]) { maxlen = len[j]; } int cnt = 0; for(int k = len[j] - 1 ; k >=0 ; k--) //翻转, { num[j][cnt++] = str[j][k] - '0'; } } for(int j = 0 ; j < i ; j++) //相加 { for(int k = 0 ; k < len[j] ; k++) { sum[k] += num[j][k]; } } for(int j = 0 ; j < maxlen ; j++) //进位 { if(sum[j] > 9) { sum[j+1] += sum[j]/10; sum[j] = sum[j]%10; if(j==maxlen-1) { maxlen++; } } } for(int j = maxlen - 1 ; j >= 0 ; j --) //输出 { printf("%d",sum[j]); } putchar(10); return 0; } //大数加法。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |