Trong phần này chúng ta sẽ xem cách tìm tổng các chữ số mà không cần viết nhiều câu lệnh. Nói cách khác, chúng ta sẽ tìm tổng chữ số trong một câu lệnh duy nhất.
Như chúng ta biết, để tìm tổng chữ số, chúng ta tách chữ số cuối bằng cách lấy phần dư sau khi chia số cho 10, sau đó chia số cho 10 lần lượt cho đến khi số trở thành 0.
Để làm nhiệm vụ này trong một câu lệnh, vòng lặp for có thể được dùng. Như chúng ta biết, vòng lặp for có ba phần khác nhau. Trong giai đoạn khởi tạo, chúng ta không làm gì trong trường hợp này. Sau đó, trong giai đoạn kiểm tra điều kiện, chúng ta kiểm tra xem số có lớn hơn 0 hay không. Trong giai đoạn tăng/giảm, chúng ta thực hiện nhiều nhiệm vụ cùng lúc. Trước tiên, chúng ta tăng tổng bằng cách lấy chữ số cuối của số, đồng thời giảm số bằng cách chia nó cho 10.
Mã ví dụ
#include <stdio.h>
int main() {
int n, sum = 0;
printf("Nhập một số: ");
// lấy số từ người dùng
scanf("%d", &n);
for(; n > 0; sum += n % 10, n /= 10) {
// thân vòng lặp rỗng
}
printf("Tổng các chữ số: %d", sum);
return 0;
}
Kết quả 1
Nhập một số: 457 Tổng các chữ số: 16