Trong bài viết này, TTnguyen sẽ giúp các bạn hiểu rõ hơn tìm phần nguyên và phần dư của C/C++ qua bài toán tính tổng các chữ số của một số nguyên. Đây là một dạng bài tập cơ bản áp dụng toán tử trong lập trình.
Xem thêm: Bài 2: (TH-CSLT-02): Viết chương trình nhập vào họ tên một học sinh
gồm: Mã học sinh, Họ tên, Ngày sinh, Lớp, Số buổi ăn bán trú. In ra màn hình các
thông tin: Mã học sinh, Họ tên, Ngày sinh, Lớp, Số buổi ăn bán trú, Số tiền ăn bán
trú (biết đơn giá là 25000đ/ 1 buổi ăn bán trú). Thông tin in ra theo 2 cách: các thông tin in hết trong một dòng hoặc mỗi thông tin in trên một dòng.
1.Tính tổng các chữ số của một số nguyên được nhập từ bàn phím
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.
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 tính tổng các chữ số c++
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
#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; }
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
.
Lời giải khác viết chương trình nhập vào số nguyên n tính tổng c++
#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; }
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
.
4.Kết quả in ra tổng các chữ số c++
Bài tiếp theo: Bài 4: Viết chương trình tính lương cho nhân viên theo các yêu cầu sau:
– Nhập tên của người được lĩnh lương.
– Nhập tiền công 1 ngày, số ngày làm việc trong tháng, và số tiền đã tạm ứng.
– Yêu cầu xuất ra màn hình như sau:
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