Để đếm chữ số của một số, cách đơn giản nhất là tách từng chữ số của số đó ra sau đó xét xem nó là chẵn hay lẻ, nếu là số lẻ thì ta tăng biến đếm lên.
Ví dụ số 12345, ta tách số 5 ra, 5 là số lẻ, cộng biến đến lên 1, tiếp tục tách số 4 ra, 4 là số chẵn bỏ qua, cứ như vậy cho đến khi tách hết dãy số.
#include <stdio.h>
int main()
{
int n = 12345; // Số nguyên dương n
int count = 0; // Biến đếm count
while (n != 0)
{
// Tách số
int num = n % 10;
// Xét chẵn hay lẻ
if (num % 2 != 0)
count++;
// Loại bỏ số hạng đã xét
n /= 10;
}
printf("%d\n", count);
}
Tách từ cuối dãy số đi ngược về sẽ dễ dàng hơn bởi vì chúng ta chỉ việc chia cho 10, bạn có thể tách từ đầu đến cuối dãy số nếu bạn muốn.