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:
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;
: Chian
cho 10 để lấy chữ số thứ nhất và gán vào biếna
.b = n % 10;
: Lấy phần dư củan
khi chia cho 10 để lấy chữ số thứ hai và gán vào biếnb
.s = a + b;
: Tính tổng hai chữ sốa
vàb
và gán kết quả vào biếns
.
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ếnso
được sử dụng để lưu giá trị số nhập từ bàn phím.int soTemp;
: BiếnsoTemp
dùng để lưu trữ giá trị củaso
trong quá trình tính toán.int tong = 0;
: Biếntong
được sử dụng để tính tổng các chữ số của sốso
.soTemp = so;
: Gán giá trị củaso
chosoTemp
để 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 khisoTemp
bằng 0.tong += soTemp % 10;
: Lấy phần dư củasoTemp
khi chia cho 10 và cộng vào biếntong
. Phần dư này chính là chữ số cuối cùng củasoTemp
.soTemp /= 10;
: ChiasoTemp
cho 10 để loại bỏ chữ số cuối cùng đã được cộng vàotong
.
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
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++
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