Tính tổng các chữ số chẵn của số nguyên dương n bằng C / C++ – tính tổng các chữ số của n trong c – phptravels.vn

Bài tập viết chương trình tính tổng các chữ số chẵn 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++

Bạn đang xem: tính tổng các chữ số của n trong c

Tính tổng các chữ số chẵn 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 tính tổng các chữ số chẵn 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++.

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 để tính tổng các chữ số chẵn bằng hai ngôn ngữ khác nhau là C và C++.

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

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

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ổng các chữ số chẵn của n.

temp = n;
  while(temp != 0)
  {
    if(temp % 2 == 0)
    {
	 S = S + temp % 10;
    }
    temp = temp / 10;
  }

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

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

Kết quả:

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

Việc tính tổng 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, 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é.

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

  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 tính tổng các chữ số chẵn 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: