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

Quảng cáo

Tìm chữ số lớn nhất 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ìm chữ số lớn nhất trong số nguyên dương n bằng C / C++. Để hiểu được bài bài 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ìm chữ số lớn nhất bằng hai ngôn ngữ khác nhau là C và C++.

Quảng cáo

Tìm chữ số lớn nhất trong số nguyên dương n bằng C

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 dương n: ");
    scanf("%d", &n);
  }while(n < 0 && printf("\nSố n phải lớn hơn hoặc bằng 0!!"));

Kiểm tra xem n = 0 hay không, nếu n bằng 0 thì số lớn nhất là max = 0.

if(n == 0)
    max = 0;

Tiếp đến sử dụng vòng lặp do..while với điều kiện n /= 10 để tìm chữ số lớn nhất trong n.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
do
  {
    i = n % 10;
    if(i > max)
    {
      max = i;
    }
  }while(n /= 10);

Sau khi kết thúc vòng lặp ta được chữ số lớn nhất là max, khi đó chỉ cần hiển thị max ra màn hình bằng printf().

Quảng cáo

Code:

#include<stdio.h>
int main()
{
  int i, n, temp;
  int max = 0;
  //sử dụng vòng lặp do..while để yêu cầu người dùng nhập vào số nguyen 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 dương n: ");
    scanf("%d", &n);
  }while(n < 0 && printf("\nSố n phải lớn hơn hoặc bằng 0!!"));
  temp = n;
  //nếu n = 0 thì max = 0
  if(n == 0)
    max = 0;
  //sử dụng vòng lặp do..while để tìm chữ số lớn nhất trong n
  do
  {
    i = n % 10;
    if(i > max)
    {
      max = i;
    }
  }while(n /= 10);
  printf("\nChữ số lớn nhất trong %d là: %d",temp, max);

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

Kết quả:

bai25 01 PNG

Tìm chữ số lớn nhất trong số nguyên dương n bằng C++

Việc tìm chữ số lớn nhất trong số nguyên dương n bằng C++ cũng tương tự như ngôn ngữ C. Về cơ bàn hai ngôn ngữ này khá tương đồng nhau.

Ta chỉ cần thay thế printf() và scanf() trong ngôn ngữ C bằng cout và cin trong ngôn ngữ C++. Nhớ khai báo thư viện trước khi sử dụng cout và cin nhé.

#include<iostream>
using namespace std;
int main()
{
  int i, n, temp;
  int max = 0;
  //sử dụng vòng lặp do..while để yêu cầu người dùng nhập vào số nguyen dương n
  //nếu n < 0 thì yêu cầu nhập lại
  do
  {
    cout<<"\nNhập vào số nguyên dương n: ";
    cin>>n;
  }while(n < 0 && cout<<"\nSố n phải lớn hơn hoặc bằng 0!!");
  temp = n;
  //nếu n = 0 thì max = 0
  if(n == 0)
    max = 0;
  //sử dụng vòng lặp do..while để tìm chữ số lớn nhất trong n
  do
  {
    i = n % 10;
    if(i > max)
    {
      max = i;
    }
  }while(n /= 10);
  cout<<"\nChữ số lớn nhất trong "<<temp<<" là: "<<max;

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

Kết quả:

Quảng cáo

bai25 02 PNG

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