2
Đếm số lượng chữ số lẻ của số nguyên dương n trong C/C++?
0
Cộng đồng đã đăng:

Mình có số một số nguyên dương n bất kỳ, ví dụ:

n = 12345

Thì chương trình trả về kết quả là 3 vì có 3 chữ số là số lẻ trong số 12345, lập trình như thế nào để đạt được kết quả như vậy ạ, mình không giỏi đọc code lắm nên bạn nào kèm theo một chút giải thích mình cảm ơn rất nhiều.

thêm bình luận...
0
andi364110 đã đăng:

Để đế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.

thêm bình luận...

Câu trả lời của bạn

Chào mừng bạn đến với cộng đồng chia sẻ tri thức BanhoiTuidap.com, bạn có thể chia sẻ bất kỳ sự hiểu biết, nghiên cứu hoặc kinh nghiệm của mình về câu hỏi này với một số lưu ý:
  • Lịch sự, tế nhị.
  • Hạn chế ghi tắt, câu trả lời của bạn chỉ nên tập trung vào câu hỏi ở trên.
Câu trả lời của bạn sẽ được đăng ở chế độ cộng đồng, cho nên bạn sẽ không thể chỉnh sửa sau khi đăng, có thể đăng ký thành viên trên BanhoiTuidap.com khi bạn muốn theo dõi câu hỏi này hoặc chủ đề liên quan.
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)