1. Bài tập kiểm tra xem N có chữ số giảm dần từ trái qua phải hay không trong C

Bài tập cơ bản này ta có thể có hướng giải quyết là sử dụng vòng lặp while trong ngôn ngữ lập trình C.

Đầu vào sẽ là một biến nguyên dương N,  yêu cầu của bài toán là kiểm tra xem N có chữ số giảm dần từ trái qua phải hay không.

2. Lời giải

Để giải được bài tập kiểm tra xem N có chữ số tăng dần từ trái qua phải hay không trong C bạn phải có kiến thức về toán học cơ bản, có kiến thức về lập trình C cơ bản và cách sử dụng vòng lặp trong C.

Các bước thực hiện bài toán như sau:

Bước 1: Khai báo biến int N để gán giá trị của N.

Bước 2: Nhập vào N với điều kiện N>=0, nếu không yêu cầu nhập lại.

Bước 3: Khai báo biến bool Check = true để kiểm tra tính tăng dần của các chữ số, biến int gan = N để gán giá trị của N, int ChuSoCuoi = gan%10 dể lấy chữ số cuối ra.

Bước 4: Ta sử dụng vòng lặp while với điều kiện là khi biến gan !=0  thì vòng lặp tiếp tục, khai báo biến int ChuSoKeCuoi = gan % 10 để lấy chữ số kế cuối , biến gan /=10 , Sử dụng if với điều kiện nếu biến ChuSoCuoi > ChuSoKeCuoi thì Check=false và kết thúc lặp ngược lại ChuSoCuoi = ChuSoKeCuoi dùng để cập nhật lại chữ số cho lần so sánh tiếp theo.

Bước 5: Sử dụng if với diều kiện nếu Check=true thì in ra “Day giam dan !” còn ngược lại in ra “Day khong giam dan !”.

Chương trình giải bài tập kiểm tra xem N có chữ số giảm dần từ trái qua phải hay không trong C như sau:

#include<stdio.h>
#include<math.h>
int main()
{
    //khai bao N
    int N;
    //Nhap N
    do
    {
        printf("\nNhap vao N ( N > 0 ): ");
        scanf("%d", &N);

        if (N <= 0)//Neu N<=0 yeu cau nhap lai
        {
            printf("\nGia tri ban nhap vao khong hop le. Xin vui long nhap lai! ");
        }

    } while (N <= 0);
    //khai bao bien Check
    bool Check = true;
    //khai bao bien gan
    int gan = N;
    int ChuSoCuoi = gan % 10;  // lay ra chu so cuoi
    while(gan != 0)
    {
        int ChuSoKeCuoi = gan % 10;
        gan/= 10;
        if (ChuSoCuoi > ChuSoKeCuoi)
        {
            Check = false;
            break;
        }
        else
        {
            ChuSoCuoi = ChuSoKeCuoi;  // Cap nhat lai chu so cho lan so sanh tiep theo
        }
    }
    if(Check == true)//neu Check = true in ra day giam dan
    {
        printf("Day giam dan !");
    }else//nguoc lai in ra day khong giam dan
    {
        printf("Day khong giam dan !");
    }
}

Ví dụ tôi nhập N=9876

Kết quả:

Nhap vao N ( N > 0 ): 9876
Day giam dan !

3. Tổng kết

Để thực hiện giải bài tập kiểm tra xem N có chữ số giảm dần từ trái qua phải hay không trong C bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản và các cách sử dụng vòng lặp trong C và các phép toán học cơ bản.