1. Bài tập đếm số lượng chữ số nhỏ nhất của số nguyên dương N 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à đếm số lượng chữ số nhỏ nhất của N.

2. Lời giải

Để giải được bài tập đếm số lượng chữ số lớn nhất của số nguyên dương N 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, khai báo biến int min để gán giá trị chữ số nhỏ nhất của N, khai báo biến int dem=0 để đếm số lượng chữ số nhỏ nhất của N, khai báo biến int i.

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: Khởi tạo min gán giá trị của biến min = N%10.

Bước 4: Sử dụng if với điều kiện N=0, nếu thỏa mãn thì min=0 và dem=1.

Bước 5: Ta sử dụng vòng lặp while với điều kiện là khi biến N còn khác 0 thì vòng lặp tiếp tục, trong vòng lặp ta cho gán biến i bằng N%10  mỗi khi lặp, sử dụng if với diều kiện nếu i bằng min thì biến dem sẽ tăng lên 1,  sử dụng if với điều kiện i<min nếu thỏa mãn thì gán giá trị i cho min (min=i) , còn biến N chia 10 mỗi khi lặp.

Bước 6: In biến dem ra màn hình.

Chương trình giải bài tập đếm số lượng chữ số nhỏ nhất của số nguyên dương N trong C như sau:

#include<stdio.h>
#include<math.h>
int main()
{
    //khai bao bien N
    int N;
    //khai bao bien i
    int i;
    //khai bao bien min
    int min;
    //khai bao bien dem
    int dem=0;
    do
    {
        //Nhap vao du lieu cua N
        printf("\nNhap N: ");
        scanf("%d", &N);
    }while(N < 0 && printf("\nLoi: n >= 0 !"));//Neu N<0 yeu cau nhap lai
    min = N%10; khoi tao bien min
    if(N==0)
    {
    	min=0;
    	dem=1;
    }
    while(N != 0)//Neu biên gan con khac 0 thuc hien vong lap
    {
    	i = N%10;//i = N chia lay du 10
    	if(i==min)
        {
            dem++;
        }
    	if (i<min)//Neu i<min thi gan gia tri cua min = i
        {
            min=i;	
        }
        N = N / 10;//bien N chia 10
    }
    
    //in bien min ra man hinh
    printf("\nChu so nho nhat la: %d",min);
    //in bien dem ra man hinh 
    printf("\nSo chu so nho nhat la: %d",dem);
}

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

Kết quả:

Nhap N: 11229191

Chu so nho nhat la: 1

So chu so nho nhat la: 4

3. Tổng kết

Để thực hiện giải bài tập đếm số lượng chữ số nhỏ nhất của số nguyên dương N 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.