加法c++

题目描述

模拟加法的运算过程:

  1. 低位对齐。
  2. 按位相加,如果相加的结果超过 9,需要进位。

给定 a 和 b 分别作为被加数和加数,而且限定 a 是 4 位数字,b 是 3 位数字,都是正整数。请你模拟以上加法过程进行输出。如果最后 a+b 的结果是 5 位数,为了保证对齐,需要在被加数和加数前面加空格。仔细观察样例。

输入

输入两个正整数 a 和 b。

输出

模拟加法过程。

样例输入1

复制代码
2345 234

样例输出1

复制代码
2345
 234
----
2579

样例输入2

复制代码
2345 678

样例输出2

复制代码
2345
 678
----
3023

样例输入3

复制代码
9999 999

样例输出3

复制代码
 9999
  999
-----
10998

分析

只需判断a+b的位数(注:四位数+三位数只可能是四位数或五位数,因为1000+100=1100,9999+999=10998),当a+b为四位数或五位数时输出特定的格式即可

四位数时:

cpp 复制代码
cout<<a<<"\n"<<" "<<b<<"\n"<<"----"<<"\n"<<a+b;

五位数时:

cpp 复制代码
cout<<" "<<a<<"\n"<<"  "<<b<<"\n"<<"-----"<<"\n"<<a+b;

示例代码:

cpp 复制代码
#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;
}
相关推荐
mjhcsp10 分钟前
C++ KMP 算法:原理、实现与应用全解析
java·c++·算法·kmp
好大哥呀14 分钟前
C++ IDE
开发语言·c++·ide
WW_千谷山4_sch26 分钟前
MYOJ_10599:CSP初赛题单10:计算机网络
c++·计算机网络·算法
梵尔纳多1 小时前
绘制一个矩形
c++·图形渲染·opengl
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——leetCode 946 题:验证栈序列
c++·算法·leetcode·职场和发展·结构与算法
闻缺陷则喜何志丹1 小时前
【状态机动态规划】3686. 稳定子序列的数量|1969
c++·算法·动态规划·力扣·状态机动态规划
liulilittle1 小时前
OPENPPP2 网络驱动模式
开发语言·网络·c++·网络协议·信息与通信·通信
mjhcsp1 小时前
C++ AC 自动机:原理、实现与应用全解析
java·开发语言·c++·ac 自动机
爱吃生蚝的于勒2 小时前
【Linux】进程间通信之匿名管道
linux·运维·服务器·c语言·数据结构·c++·vim
wanderist.2 小时前
C++输入输出的一些问题
开发语言·c++·图论