@typrone1
Về nguyên tắc có số a
Ta dùng vòng while kiểm tra xem a>0? nếu false thì dừng, còn không thì lấy a chia 10 lấy dư để được số cuối cùng, và lưu biến a mới = a chia 10 lấy nguyên để bỏ số cuối cùng đi, rồi tính tổng thì = tổng cộng tiếp với giá trị dư vừa tách được ra
Ví dụ ban đầu tổng =0, a = 314 kiểm tra thấy a lớn hơn 0 thì chia được dư = 4 , a mới = 30
tổng = tổng + dư = 0 + 4 = 4
Tiếp theo kiểm tra tiếp a có > 0 không , a lúc này là 30 vẫn lớn hơn 0, chia 10 tiếp được dư = 1, a mới = 3
tổng = tổng + dư = 4 + 1 = 5
Tiếp theo kiểm tra tiếp a > 0, a lúc này là 3 vẫn lớn hơn 0, chia 10 tiếp được dư = 3, a mới = 0
tổng = tổng + dư = 5 + 3 = 8
Lúc này a đã không còn lớn hơn 0 nữa điều kiện trả về false ngắt vòng while
đưa ra giá trị tổng lúc này là tổng = 8
Code ở dưới đây
#include<stdio.h>
int main()
{
int a,du,tong;
a=19901;
tong=0;
du=0;
while (a>0) {
du = a%10;
a = a/10;
tong = tong + du;
}
printf("Tong cac chu so %d: ",tong);
return 0;
}