Hướng dẫn giải của STR04: Tổng chữ số


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Hướng dẫn giải

Cho xâu ~S~ không chứa khoảng trắng. Cần tính tổng của tất cả các chữ số xuất hiện trong ~S~.

Cách làm
  • Đọc xâu ~S~ bằng cin.
  • Duyệt từng kí tự. Nếu kí tự nằm trong khoảng từ '0' đến '9' thì đó là chữ số.
  • Với chữ số ~c~, giá trị của nó là ~c - '0'~. Cộng giá trị này vào biến tổng.
  • Tổng nhỏ (không quá 255 kí tự) nên kiểu int là đủ.
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s;
    cin >> s;
    int tong = 0;
    // Duyệt từng kí tự, nếu là chữ số thì cộng giá trị của nó vào tổng
    for (int i = 0; i < (int)s.length(); i++) {
        if (s[i] >= '0' && s[i] <= '9') {
            tong += s[i] - '0';
        }
    }
    cout << tong << "\n";
    return 0;
}

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.