大数相加(高精度加法):C++实现详解
#include bits/stdc.h using namespace std; int main() { // 定义两个字符串接收数据 string s1, s2; // 定义三个int数组用于分别存储s1和s2以及s1s2的和 int a1[505], a2[505], a3[505]; // 输入数据 cin s1 s2; // 翻转s1和s2 for (int i 0; i s1.size(); i) { a1[s1.size() - i - 1] s1[i] - 0; } for (int i 0; i s2.size(); i) { a2[s2.size() - i - 1] s2[i] - 0; } int len max(s1.size(), s2.size()); for (int i 0; i len; i) { a3[i] a1[i] a2[i]; } for (int i 0; i len; i) { if (a3[i] 10) { a3[i 1] a3[i 1] a3[i] / 10; a3[i] a3[i] % 10; } } if (a3[len] ! 0) { len; } for (int i len - 1; i 0; i--) { printf(%d, a3[i]); } return 0; }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2425677.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!