SIMPLE
STRING
ARRAY
SORTING
POINTER
CALCULATION
NUMBER
OTHER
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Đếm số lượng chữ số 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ố của số nguyên dương n bằng C / C++. Ví dụ 1234 có 4 chữ số, 297429 có 6 chữ số,....

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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ố 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ố 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ố 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]

 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ố 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 thì tăng count lên 1.

while(temp != 0)
  {
    //sau một vòng lặp thì count 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à count, khi đó chỉ cần in count ra màn hình bằng printf().

Code:

#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 thì count 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;
  }
  printf("\nSố chữ số 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ả:

bai20 01 PNG

Đếm các chữ số của số nguyên dương n bằng C++

Để đếm các chữ số 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é.

#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
    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ả:

bai20 02 PNG

Như vậy là chúng ta đã thực hiện xong chương trình đếm các chữ số 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:

Cùng chuyên mục:

Cách điều khiển Touch Sensor trong Arduino

Cách điều khiển Touch Sensor trong Arduino

Cách giao tiếp Keypad với màn hình LCD trong Arduino

Cách giao tiếp Keypad với màn hình LCD trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển Keypad trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Cách điều khiển màn hình LCD trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Hướng dẫn điều khiển cảm biến ánh sáng trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển công tắc (switch) trong Arduino

Cách điều khiển button trong Arduino

Cách điều khiển button trong Arduino

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng Touch Sensor

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG bằng nút nhấn trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn điều khiển đèn LEG RGB trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Hướng dẫn bật tắt đèn LED trong Arduino

Viết chương trình Arduino đầu tiên

Viết chương trình Arduino đầu tiên

Các kiến thức cần biết trước khi học lập trình với Arduino

Các kiến thức cần biết trước khi học lập trình với Arduino

Hướng dẫn cài đặt và sử dụng Arduino IDE

Hướng dẫn cài đặt và sử dụng Arduino IDE

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Arduino là gì? Ứng dụng của Arduino trong cuộc sống

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cctype C / C++

Top