题目:
在多位数加法时从右至左将每一位数依次相加。
要统计出每个加法题目所需的进位次数。
输入
输入的每一行包含两个10位以下的非负整数。
输出
统计把输入的两个数加起来所需的进位次数,按照样例输出的格式打印出来。
样例输入 样例输出
123 456 No carry operation.
555 555 3 carry operations.
123 594 1 carry operation.
#include<iostream>
using namespace std;
int main()
{
int n, m;
cout<<"---欢迎使用正整数进位次数统计程序---"<<endl;
cout << "请输入两个10位以内的正整数:" << endl;
while (cin >> n >> m && n >= 0 && m >= 0)//输入非负整数
{
int c = 0;
int j = 0;
for (int i = 1; i <= 10; i++)
{
c = (n % 10 + m % 10 + c) / 10;//取个位进行单独计算
if (c > 0)
{
j++;//统计进位次数
}
n /= 10;//小数点前移
m /= 10;
}
cout << "进位次数为:" << j << " carry operation." << endl;
}
return 0;
}