#include<iostream> #include<vector> using namespace std; const int N=1e6+10; string a,b; vector<int>A,B; vector<int>add(vector<int>&A,vector<int>&B) { vector<int>C; int t=0; for(int i=0;i<A.size()||i<B.size();i++) //注意i的范围,只要一个数没加完就继续加 { if(i<A.size()) //t表示这一位的和 t+=A[i]; if(i<B.size()) t+=B[i]; C.push_back(t%10); //存进去需要取模。类比竖式计算 t/=10; } if(t) //如果最后t不等于1,就进一位 C.push_back(1); return C; } int main(void) { cin>>a>>b; for(int i=a.size()-1;i>=0;i--) //从个位存 A.push_back(a[i]-'0'); //字符变数字记得减去‘0’ for(int i=b.size()-1;i>=0;i--) B.push_back(b[i]-'0'); auto C=add(A,B); for(int i=C.size()-1;i>=0;i--) //从最高位输出 cout<<C[i]; return 0; }
0.0分
1 人评分
【密码】 (C语言代码)浏览:333 |
A+B for Input-Output Practice (C++代码)浏览:609 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:545 |
众数问题 (C语言代码)浏览:830 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:667 |
1009题解浏览:752 |
核桃的数量 (C语言代码)浏览:672 |
矩阵乘方 (C语言代码)浏览:1031 |
1134题解(求分析)浏览:729 |
简单的a+b (C语言代码)浏览:562 |