[C++]Tìm số lớn nhất của số nguyên dương N có ba chữ số có CODE Mẫu

Bài viết dưới đây sẽ giúp chúng ta thực hiện thuật toán tìm chữ số lớn nhất của một số nguyên dương N gồm 3 chữ số. Sau đây hãy cùng TTnguyen tìm hiểu qua ngôn ngữ lập trình C++ nhé!

1. Đề bài tìm chữ số lớn nhất của số nguyên dương N ba chữ số

Đề bài: Viết trình nhập vào một số nguyên N gồm ba chữ số. Xuất ra màn hình chữ số lớn nhất ở vị trí nào?

2. Mô tả thuật toán tìm chữ số lớn nhất của có nguyên dương N

Sử dụng vòng lặp do…while để yêu cầu người nhập n thoả mãn 3 chữ số 100<=n<=999, nếu không thoả mãn thì yêu cầu nhập lại.

do{
 cout<<"nhap n co 3 chu so:"; cin>>n;
}while(n<100 || n>999);

Gán các giá trị hàng đơn vị, hàng chục và hàng trăm

//gan gia tri donvi, chuc, tram 
tram=n/100;
chuc=(n%100)/10;
donvi=n%10;
max=tram;

Sử dụng vòng lặp if để thực hiện so sánh các trường hợp:

  • Cả ba chữ số bằng nhau
  • Chữ số lớn nhất ở hàng chục
  • Chữ số lớn nhất ở hàng trăm
  • Chữ số lớn nhất ở hàng đơn vị
if (tram == chuc && tram == donvi) cout << "ba chu so bang nhau";
else {
  if (chuc > max && donvi > max) {
    if (chuc > donvi) {
      max = chuc;
    } else max = donvi;
  } else {
    if (chuc > tram) max = chuc;
    if (donvi > tram) max = donvi;
  }
  if (max == tram) cout << "chu so lon nhat o hang tram";
  else if (max == chuc) cout << "chu so lon nhat o hang chuc";
  else cout << "chu so lon nhat o hang don vi";
}

3. Code

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,tram,chuc,donvi,max;
    //nhap den khi n la so co 3 chu so thi thuc hien tiep
    do{
       cout<<"nhap n co 3 chu so:"; cin>>n;
    }while(n<100 || n>999);
    //gan gia tri donvi, chuc, tram
    tram=n/100;
    chuc=(n%100)/10;
    donvi=n%10;
    max=tram;
    //thuc hien so sanh
    if(tram==chuc && tram==donvi) cout<<"ba chu so bang nhau";
    else { if (chuc>max && donvi>max)
    {
    if(chuc>donvi)
    {
    max=chuc;
    }
    else max=donvi;
    }
     else
     {
       if(chuc>tram) max=chuc;
       if(donvi>tram) max=donvi;
     }
    if(max==tram)
    cout<<"chu so lon nhat o hang tram";
      else if(max==chuc)
        cout<<"chu so lon nhat o hang chuc";
           else cout<<"chu so lon nhat o hang don vi";
    }
}

4.Kết quả

Kết quả 1

Kết quả 2

Kết quả 3

Kết quả 4

Mở rộng bài toán: Viết chương trình nhập vào số nguyên N. Xuất ra màn hình chữ số lớn nhất(Tìm chữ số lớn nhất của số nguyên dương N)

Tương tự bài toán tìm số lớn nhất của số nguyên dương N có 3 chữ số. Ta chỉ cần thay đổi thuật toán so sánh if thành do…while như sau

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.

Trên đây ttnguyen.net đã đưa ra cách giải bài toán tìm chữ số lớn nhất có số nguyên dương N có 3 chữ số ngôn ngữ lập trình C++. Mình rất vui khi các bạn tham khảo bài viết của mình. Nếu có bất kì thắc mắc hoặc nhầm lẫn gì, hãy đừng ngần ngại liên hệ với mình nhé. Chúc các bạn thành công

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em