[C++] Tính tổng các chữ số của một số nguyên dương N

Trong bài viết này, hãy cùng TTnguyen sẽ tìm hiểu cách viết chương trình nhập vào 1 số nguyên dương N và tính tổng các chữ số c++. Đây là một bài toán cơ bản giúp bạn làm quen với toán tử và vòng lặp trong lập trình.

Xem thêm:

kiểm tra số chính phương c++

thuật toán kruskal c++

thuật toán prim

1.Yêu cầu bài toán

Bài 3: Viết chương trình nhập vào một số nguyên dương N có 2 chữ số từ bàn phím, xuất ra màn hình tổng các chữ số của N. Ví dụ:

  • Nhập N = 48, kết quả in ra màn hình là 4+8=12.
  • Nhập N= 1234, kết quả in ra màn hình là 1+2+3+4=10.

2. Phân tích bài toán

A. Input: số nguyên dương N có 2 chữ số

B.Output: Tổng 2 chữ số S

C. Process:

Bước 1: Khai báo biến chương trình: N, a,b, S: int

Bước 2: Nhập từ bàn phím một số nguyên dương N

Bước 3: Thực hiện tính toán:

  • a = N/10; //Chữ số thứ nhất
  • b = N%10; //Chữ số thứ hai
  • S=a+b

Bước 4: In kết quả lên màn hình.

3. Code minh hoạ

3.1. Số nguyên có 2 chữ số

Viết chương trình nhập vào số nguyên dương n:

  • do { ... } while (n < 10);: Vòng lặp do-while được sử dụng để yêu cầu người dùng nhập một số nguyên dương có hai chữ số. Nếu số nhập vào nhỏ hơn 10 (có một chữ số) hoặc là số âm, vòng lặp sẽ tiếp tục yêu cầu nhập lại.

Tính tổng các chữ số của số nguyên dương n c++:

  • a = n / 10;: Chia n cho 10 để lấy chữ số thứ nhất và gán vào biến a.
  • b = n % 10;: Lấy phần dư của n khi chia cho 10 để lấy chữ số thứ hai và gán vào biến b.
  • s = a + b;: Tính tổng hai chữ số ab và gán kết quả vào biến s.

Code:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int s, n, a, b;
    do {
        cout << "Nhap so nguyen duong n co 2 chu so: ";
        cin >> n;
    } while (n < 10); // Nếu nhập số âm hoặc số có 1 chữ số, yêu cầu nhập lại

    a = n / 10; // Chữ số thứ 1
    b = n % 10; // Chữ số thứ 2
    s = a + b; // Tổng hai chữ số

    cout << "Tong 2 chu so la: " << s;
    return 0;
}

3.2. Tính tổng các chữ số của số nguyên dương bất kỳ

Khai báo biến:

  • int so;: Biến so được sử dụng để lưu giá trị số nhập từ bàn phím.
  • int soTemp;: Biến soTemp dùng để lưu trữ giá trị của so trong quá trình tính toán.
  • int tong = 0;: Biến tong được sử dụng để tính tổng các chữ số của số so.
  • soTemp = so;: Gán giá trị của so cho soTemp để sử dụng trong quá trình tính toán.

Tính tổng các chữ số của n trong c:

  • while (soTemp != 0) { ... }: Đoạn mã này tạo một vòng lặp while để thực hiện tính tổng các chữ số của số so. Vòng lặp sẽ tiếp tục cho đến khi soTemp bằng 0.
  • tong += soTemp % 10;: Lấy phần dư của soTemp khi chia cho 10 và cộng vào biến tong. Phần dư này chính là chữ số cuối cùng của soTemp.
  • soTemp /= 10;: Chia soTemp cho 10 để loại bỏ chữ số cuối cùng đã được cộng vào tong.

Code:

#include <iostream>

using namespace std;
int main() {
  int so;
  int soTemp;
  int tong = 0;
  cout << "Nhap so: ";
  cin >> so;
  soTemp = so;
  while (soTemp != 0) {
    tong += soTemp % 10;
    soTemp /= 10;
  }
  cout << "Tong cac chu so cua so " << so << " la " << tong << endl;
  return 0;
}

4. Kết quả chạy chương trình

kết quả 1

Tính tổng các chữ số của số

Bài viết cùng chủ đề:
xoá phần tử trong mảng c++

tìm chữ số lớn nhất của số nguyên dương n c++

tính tổng các phần tử trong mảng c++

tính tổng các phần tử trong mảng 2 chiều c++

số nguyên tố cùng nhau

tách chuỗi trong c++

Trên đây là bài viết về cách giải bài toán viết chương trình tính tổng của một số nguyên dương N được nhập từ bàn phím ngôn ngữ lập trình C/C++. Bài viết chỉ mang tính chất tham khảo thôi nha. Nếu có điều gì thắc mắc thì đừng ngần ngại liên hệ với mình nhé :v

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em