Mua hosting giá rất rẻ => Xem ngay
hoc c plus plus gif Bài tập C++

Quảng cáo

Tính tích các chữ số của số nguyên dương n bằng C++

Trong bài viết này chúng ta sẽ thực hiện chương trình tính tích các chữ số của số nguyên dương n bằng C / C++. Để hiểu được chương trình các bạn cần có kiến thức cơ bản về C và C++.

Mình sẽ thực hiện hai chương trình để tính tích các chữ số bằng hai ngôn ngữ khác nhau là C và C++.

Quảng cáo

Tính tích 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 tính tích các chữ số và temp là biến thay thế cho n để tính tích các chữ số. Một biến P = 1 để lưu tích các chữ số.

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.

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 gán temp = n, ta sẽ sử dụng biến temp để thay thế cho n tính tích các chữ số.

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

Sử dụng một vòng lặp while với điều kiện n != 0, bên trong vòng while ta tính tích các chữ số của n.

Quảng cáo

temp = n;
  while(temp != 0)
  {
    P = P * (temp % 10);
    temp = temp / 10;
  }

Sau khi kết thúc vòng lặp while ta được tích các chữ số là P, khi đó chỉ cần hiển thị P 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 P = 1;
  //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;
  while(temp != 0)
  {
    P = P * (temp % 10);
    temp = temp / 10;
  }
  printf("\nTích các chữ số của %ld là: %d",n,P);

  printf("\n--------------------------------------\n");
  printf("Chương trình này được đăng tại Freetuts.net");
}

Kết quả:

bai21 01 PNG

Tính tích các chữ số của số nguyên dương n bằng C++

Việc tính tích 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, vì về cơ bản thì hai ngôn ngữ này khá tương đồng nhau.

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 trước khi sử dụng nó nhé.

Quảng cáo

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
  //khai báo biến
  long temp, n;
  int P = 1;
  //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;
  while(temp != 0)
  {
     P = P * (temp % 10);
     temp = temp / 10;
  }
  cout<<"\nTích các chữ số của "<<n<<" là: "<< P;

  cout<<"\n--------------------------------------\n";
  cout<<"Chương trình này được đăng tại Freetuts.net";

}

Kết quả:

bai21 02 PNG

Như vậy là chúng ta đã thực hiện xong chương trình tính tích 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 !!!

Quảng cáo

Câu hỏi thường gặp liên quan:

Các chủ đề liên quan:

Quảng cáo

Top