Đếm số lượng chữ số lẻ của số nguyên dương n bằng C / C++
Trong bài viết này chúng ta sẽ thực hiện chương trình đếm các chữ số lẻ của số nguyên dương n bằng C / C++. Ví dụ 1234 có 2 chữ số lẻ, 297429 có 3 chữ số lẻ,....

Mình sẽ thực hiện hai chương trình để đếm các chữ số của số nguyên dương n bằng hai ngôn ngữ khác nhau là C và C++.
Đếm các chữ số lẻ của số nguyên dương n bằng C
Ta cần khai báo hai biến n là số cần đếm chữ số lẻ và temp là biến thay thế cho n để ta sử dụng nó đếm chữ số. Một biến count = 0 để lưu số chữ số lẻ của n.
Sử dụng vòng lặp do..while để yêu cầu người dùng nhập vào số nguyên dương n, nếu n < 0 thì yêu cầu nhập lại.
Bài viết này được đăng tại [free tuts .net]
1 2 3 4 5 6 7 8 9 | do { printf ( "\nNhập vào số nguyên n lớn hơn 0: " ); scanf ( "%ld" , &n); if (n <= 0) { printf ( "\n Số n phải lớn hơn 0, vui lòng nhập lại !" ); } } while (n <= 0); |
Tiếp đến ta gán n = temp, khi đó ta sẽ sử dụng temp để đếm số lẻ chữ số thay cho n.
Sử dụng một vòng lặp while với n != 0, trong vòng lặp ta lấy temp = temp / 10, cứ sau mỗi vòng lặp nếu temp % 2 == 1 (temp là số lẻ) thì tăng count lên 1.
1 2 3 4 5 6 7 | while (temp != 0) { //sau một vòng lặp thì sochuso sẽ tăng lên 1 count++; //chia lấy nguyên cho 10, cứ một lần chia thì số n sẽ có một chữ số temp = temp / 10; } |
Sau khi kết thúc vòng lặp thì ta được số chữ số lẻ là count, khi đó chỉ cần in count ra màn hình bằng printf().
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include<stdio.h> #include<math.h> int main() { //khai báo biến long temp, n; int count = 0; //sử dụng dowhile để yêu cầu người dùng nhập vào só lớn hơn 0 //nếu n < 0 thì yêu cầu nhập lại do { printf ( "\nNhập vào số nguyên n lớn hơn 0: " ); scanf ( "%ld" , &n); if (n <= 0) { printf ( "\n Số n phải lớn hơn 0, vui lòng nhập lại !" ); } } while (n <= 0); //gán biến n cho temp, ta sẽ sử dụng temp để đếm các chữ số temp = n; //nếu n == 0 thì có 1 chữ số if (n == 0) count = 1; //nếu temp khác 0 thì sử dụng vòng lặp while để đếm số while (temp != 0) { //sau một vòng lặp nếu temp là số lẻ thì count sẽ tăng lên 1 if (temp % 2 == 1) count++; //chia lấy nguyên cho 10, cứ một lần chia thì số n sẽ có một chữ số temp = temp / 10; } printf ( "\nSố chữ số lẻ của %ld là: %d" , n, count); printf ( "\n--------------------------------------\n" ); printf ( "Chương trình này được đăng tại Freetuts.net" ); } |
Kết quả:
Đếm các chữ số lẻ của số nguyên dương n bằng C++
Để đếm các chữ số lẻ của số nguyên dương n bằng C++ cũng tương tự như ngôn ngữ C.
Ta chỉ cần thay thế printf() và scanf() trong C bằng cout và cin trong C++. Nhớ khai báo thư viện <iostream> trước khi sử dụng nó nhé.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include<iostream> #include<math.h> using namespace std; int main() { //khai báo biến long temp, n; int count = 0; //sử dụng dowhile để yêu cầu người dùng nhập vào só lớn hơn 0 //nếu n < 0 thì yêu cầu nhập lại do { cout<< "\nNhập vào số nguyên n lớn hơn 0: " ; cin>>n; if (n <= 0) { cout<< "\n Số n phải lớn hơn 0, vui lòng nhập lại !" ; } } while (n <= 0); //gán biến n cho temp, ta sẽ sử dụng temp để đếm các chữ số temp = n; //nếu n == 0 thì có 1 chữ số if (n == 0) count = 1; //nếu temp khác 0 thì sử dụng vòng lặp while để đếm số while (temp != 0) { //sau một vòng lặp thì count sẽ tăng lên 1 if (temp % 2 == 1)count++; //chia lấy nguyên cho 10, cứ một lần chia thì số n sẽ có một chữ số temp = temp / 10; } cout<< "\nSố chữ số của " <<n<< " là: " << count; cout<< "\n--------------------------------------\n" ; cout<< "Chương trình này được đăng tại Freetuts.net" ; } |
Kết quả:
Như vậy là chúng ta đã thực hiện xong chương trình đếm các chữ số lẻ của số nguyên dương n bằng C / C++. Các bạn có thể tham khảo các bài tập khác tại Tổng hợp 1000 bài tập C / C++ nhé, chúc các bạn thành công !!!
Câu hỏi thường gặp liên quan:
- Tính S(n) = 1 + 2 + 3 + … + n bằng C / C++
- Tính S(n) = 1^2 + 2^2 + … + n^2 bằng C / C++
- Tính S(n) = 1 + 1/2 + 1/3 + … + 1/n bằng C / C++
- Tính S(n) = 1/2 + 1/4 + … + 1/2n bằng C / C++
- Tính S(n) = 1 + 1/3 + 1/5 + … + 1/(2n - 1) bằng C / C++
- Tính S(n) = 1/(1×2) + 1/(2×3) +…+ 1/(n x (n + 1)) bằng C / C++
- Tính S(n) = 1/2 + 2/3 + 3/4 + …. + n / (n + 1) bằng C / C++
- Tính S(n) = 1/2 + 3/4 + 5/6 + … + (2n + 1)/( 2n + 2) bằng C / C++
- Tính T(n) = 1 x 2 x 3…x N bằng C / C++
- Tính T(x, n) = x^n bằng C / C++
- Tính S(n) = 1 + 1.2 + 1.2.3 + … + 1.2.3….N bằng C / C++
- Tính S(n) = x + x^2 + x^3 + … + x^n bằng C / C++
- Tính S(n) = x^2 + x^4 + … + x^2n bằng C / C++
- Tính S(n) = x + x^3 + x^5 + … + x^(2n - 1) bằng C / C++
- Tính tổng tất cả các “ước số” của số nguyên dương n bằng C / C++
- Tính tích tất cả các “ước số” của số nguyên dương n bằng C / C++
- Liệt kê tất cả các ước số lẻ của số nguyên dương n bằng C / C++
- Tính tổng tất cả các ước số chẵn của số nguyên dương n bằng C / C++
- Tìm ước số lẻ lớn nhất của số nguyên dương n bằng C / C++
- Đếm số lượng chữ số của số nguyên dương n bằng C / C++
- Tính tích các chữ số của số nguyên dương n bằng C++
- Đếm số lượng chữ số lẻ của số nguyên dương n bằng C / C++
- Tính tổng các chữ số chẵn của số nguyên dương n bằng C / C++
- Tìm chữ số đầu tiên của số nguyên dương n bằng C / C++
- Tìm chữ số lớn nhất của số nguyên dương n bằng C / C++
- Tìm chữ số nhỏ nhất của số nguyên dương n bằng C / C++
- Đếm chữ số lớn nhất của số nguyên dương n bằng C / C++
- Đếm chữ số nhỏ nhất của số nguyên dương n bằng C / C++
- Kiểm tra số n có toàn chữ số lẻ hay không bằng C / C++
- Kiểm tra số n có toàn chữ số chẵn hay không bằng C / C++
- Kiểm tra các chữ số của số n có tăng dần từ trái sang phải không bằng C / C++
- Kiểm tra các chữ số của số n có giảm dần hay không bằng C / C++
- Tính S(x, n) = x – x^2 + x^3 + … + (-1)^n+1 * x^n bằng C / C++
- Kiểm tra hai số thực có cùng dấu hay không bằng C / C++
- Kiểm tra tháng thuộc quý nào bằng C / C++
- Tính S(n) = 1^3 + 2^3 + … + N^3 bằng C / C++
- Tìm số nguyên dương n nhỏ nhất sao cho 1 + 2 + … + n > 10000 bằng C / C++
- Sử dụng vòng lặp for để xuất các ký tự từ A đến Z bằng C / C++
- Tính tổng các giá trị lẻ nguyên dương nhỏ hơn N bằng C / C++
- In tất cả các số nguyên dương lẻ nhỏ hơn 100 bằng C / C++
- Kiểm tra loại tam giác gì bằng C / C++
- Giải hệ phương trình bậc nhất hai ẩn bằng C / C++
- Chương trình tìm số ngày trong tháng bằng C / C++
- Nhập vào ngày tháng năm rồi in ra ngày tiếp theo bằng C / C++
- Nhập vào ngày tháng năm rồi in ra ngày tháng năm trước đó bằng C / C++
- In ra cách đọc của một số nguyên dương có hai chữ số bằng C / C++
- In ra cách đọc của một số nguyên dương có ba chữ số bằng C / C++
- Tính điểm trung bình của môn toán và môn văn bằng C / C++
- Tìm phần tử lớn nhất trong mảng một chiều bằng C / C++
- Tìm phần tử nhỏ nhất trong mảng một chiều bằng C / C++
- Tìm vị trí của phần tử nhỏ nhất trong mảng một chiều bằng C / C++
- Tìm vị trí của phần tử lớn nhất trong mảng một chiều bằng C / C++
- Nhập, xuất mảng các số thực bằng C / C++
- Nhập, xuất mảng các số nguyên bằng C / C++
- Liệt kê các giá trị chẵn trong mảng các số nguyên bằng C / C++
- Liệt kê các giá trị lẻ trong mảng các số nguyên bằng C / C++
- Liệt kê vị trí các giá trị âm trong mảng một chiều các số thực bằng C / C++
- Đếm số nguyên tố có trong mảng một chiều các số nguyên bằng C / C++
- Tính tổng các giá trị âm trong mảng một chiều các số thực bằng C / C++
Cùng chuyên mục:







