Home > C / C++ > Bài tập C++ > Đếm chữ số lớn nhất của số nguyên dương n bằng C / C++
Cần 2 bạn dịch bài về C#, Winform, .NET ... nói chung là viết bài về các công nghệ sử dụng code C#. Yêu cầu phải có kiến thức nên tảng lĩnh vực bạn chọn, nhuận bút 50k / bài. inbox mình nếu có nhu cầu nhé.

Đế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 đếm số lượng chữ số lớn nhất trong số nguyên dương n bằng C / C++. Để hiểu được bài này các bạn cần có kiến thức cơ bản về ngôn ngữ C và C++.

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

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

Ta cần một biến count = 1 để đếm số chữ số lớn nhất trong n và biến max = 1 đế tìm chữ số lớn nhất trong 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.

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!!"));

Nếu n = 0 thì count = 1, vì số lớn nhất khi đó là 0.

if(n == 0)
    count = 1;

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, sau mỗi lần tìm thấy thì tăng count lên 1.

do
  {
    i = n % 10;
    if(i == max)
      count++;
    if(i > max)
      max = i;
  }while(n /= 10);

Sau khi vòng lặp kết thúc thì ta được chữ số lớn nhất là max và số lượng chữ số max xuất hiện trong n là count.

Code:

#include<stdio.h>
int main()
{
  int i, n, temp, count = 1;
  int max = 1;
  //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ì count = 1
  if(n == 0)
    count = 1;
  //sử dụng vòng lặp do..while để tìm chữ số lớn nhất trong n
  //mỗi lần tìm thấy thì tăng count lên 1
  do
  {
    i = n % 10;
    if(i == max)
      count++;
    if(i > max)
      max = i;
  }while(n /= 10);
  printf("\nChữ số lớn nhất trong %d là: %d",temp, max);
  printf("\nCó %d chữ số %d trong số %d",count,max,temp);

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

Kết quả:

bai27 01 PNG

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

Việc đếm số lượng chữ số lớn nhất trong số nguyên dương n bằng C++ tương tự như ngôn ngữ C. Vì 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 C bằng cout và cin trong C++. Các bạn nhớ khai báo thư viện <iostream> trước khi sử dụng cout và cin nhé.

#include<iostream>
using namespace std;
int main()
{
  int i, n, temp, count = 1;
  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ì count = 1
  if(n == 0)
    count = 1;
  //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)
      count++;
    if(i > max)
      max = i;
  }while(n /= 10);
  cout<<"\nChữ số lớn nhất trong "<<temp<<" là: "<<max;
  cout<<"\nCó "<< count<<" chữ số "<<max<<" trong số "<<temp;

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

Kết quả:

bai27 02 PNG

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

Nguồn: freetuts.net

Tham khảo
Tính S(n) = 1 + 2 + 3 + … + n bằng C / C++
Tính S(n) = 1^2 + 2^2 + … + n^2 bằng C / C++
Tính S(n) = 1 + 1/2 + 1/3 + … + 1/n bằng C / C++
Tính S(n) = 1/2 + 1/4 + … + 1/2n bằng C / C++
Tính S(n) = 1 + 1/3 + 1/5 + … + 1/(2n - 1) bằng C / C++
Tính S(n) = 1/(1×2) + 1/(2×3) +…+ 1/(n x (n + 1)) bằng C / C++
Tính S(n) = 1/2 + 2/3 + 3/4 + …. + n / (n + 1) bằng C / C++
Tính S(n) = 1/2 + 3/4 + 5/6 + … + (2n + 1)/( 2n + 2) bằng C / C++
Tính T(n) = 1 x 2 x 3…x N bằng C / C++
Tính T(x, n) = x^n bằng C / C++
Tính S(n) = 1 + 1.2 + 1.2.3 + … + 1.2.3….N bằng C / C++
Tính S(n) = x + x^2 + x^3 + … + x^n bằng C / C++
Tính S(n) = x^2 + x^4 + … + x^2n bằng C / C++
Tính S(n) = x + x^3 + x^5 + … + x^(2n - 1) bằng C / C++
Tính tổng tất cả các “ước số” của số nguyên dương n bằng C / C++
Tính tích tất cả các “ước số” của số nguyên dương n bằng C / C++
Liệt kê tất cả các ước số lẻ của số nguyên dương n bằng C / C++
Tính tổng tất cả các ước số chẵn của số nguyên dương n bằng C / C++
Tìm ước số lẻ lớn nhất của số nguyên dương n bằng C / C++
Đếm số lượng chữ số của số nguyên dương n bằng C / C++
Tính tích các chữ số của số nguyên dương n bằng C++
Đếm số lượng chữ số lẻ của số nguyên dương n bằng C / C++
Tính tổng các chữ số chẵn của số nguyên dương n bằng C / C++
Tìm chữ số đầu tiên của số nguyên dương n bằng C / C++
Tìm chữ số lớn nhất của số nguyên dương n bằng C / C++
Tìm chữ số nhỏ nhất của số nguyên dương n bằng C / C++
Đếm chữ số lớn nhất của số nguyên dương n bằng C / C++
Đếm chữ số nhỏ nhất của số nguyên dương n bằng C / C++
Kiểm tra số n có toàn chữ số lẻ hay không bằng C / C++
Kiểm tra số n có toàn chữ số chẵn hay không bằng C / C++
Kiểm tra các chữ số của số n có tăng dần từ trái sang phải không bằng C / C++
Kiểm tra các chữ số của số n có giảm dần hay không bằng C / C++
Tính S(x, n) = x – x^2 + x^3 + … + (-1)^n+1 * x^n bằng C / C++
Kiểm tra hai số thực có cùng dấu hay không bằng C / C++
Kiểm tra tháng thuộc quý nào bằng C / C++
Tính S(n) = 1^3 + 2^3 + … + N^3 bằng C / C++

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP