TB椰程 TypeBuddy 打字搭子

练34.1 学习加法

C++语法 · 循环结构 · 代码 · cpp · 难度 4/5 · 共 640 字

多组数据统计竖式加法的进位次数

  • C++语法
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/P207
// 题意:多组两个三位数相加,
//       统计相加时的进位次数,
//       读到 0 0 结束。
// 思路:模拟竖式加法:
//       从个位起,同位相加再加进位,超 9 就进位。
#include <iostream>
using namespace std;

int main() {
    int m, n;
    // 0 0 是结束标志
    while (cin >> m >> n && (m != 0 || n != 0)) {
        int carry = 0, cnt = 0;
        // 逐位相加,考虑上一位的进位
        while (m > 0 || n > 0 || carry > 0) {
            if (m % 10 + n % 10 + carry > 9) {
                cnt++;
                carry = 1;
            } else {
                carry = 0;
            }
            m /= 10;
            n /= 10;
        }
        cout << cnt << endl;
    }
    return 0;
}

C++语法 · 循环结构的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK