加法c++
题目描述
模拟加法的运算过程:
- 低位对齐。
- 按位相加,如果相加的结果超过 9,需要进位。
给定 a 和 b 分别作为被加数和加数,而且限定 a 是 4 位数字,b 是 3 位数字,都是正整数。请你模拟以上加法过程进行输出。如果最后 a+b 的结果是 5 位数,为了保证对齐,需要在被加数和加数前面加空格。仔细观察样例。
输入
输入两个正整数 a 和 b。
输出
模拟加法过程。
样例输入1
2345 234
样例输出1
2345234
----
2579
样例输入2
2345 678
样例输出2
2345678
----
3023
样例输入3
9999 999
样例输出3
9999999
-----
10998
分析
只需判断a+b的位数(注:四位数+三位数只可能是四位数或五位数,因为1000+100=1100,9999+999=10998),当a+b为四位数或五位数时输出特定的格式即可
四位数时:
cout<<a<<"\n"<<" "<<b<<"\n"<<"----"<<"\n"<<a+b;
五位数时:
cout<<" "<<a<<"\n"<<" "<<b<<"\n"<<"-----"<<"\n"<<a+b;
示例代码:
#include<bits/stdc++.h>
using namespace std;
int main(){long long a,b;cin>>a>>b;if((a+b)/10000==0){cout<<a<<"\n"<<" "<<b<<"\n"<<"----"<<"\n"<<a+b;}else{cout<<" "<<a<<"\n"<<" "<<b<<"\n"<<"-----"<<"\n"<<a+b;}return 0;
}