1. Bài tập đếm số lượng chữ số 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ố của N.

2. Lời giải

Để giải được bài tập đếm số lượng chữ số 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.

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

Bước 1: Khai báo biến int N, khai báo biến int gan = N để gán giá trị của N, khai báo biến int dem = 0 để đến số lượng chữ số 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: Sử dụng if với diều kiện N=0 thì gán giá trị của biến dem=1.

Bước 4: Ta sử dụng vòng lặp while với điều kiện là khi biến gan còn khác 0 thì vòng lặp tiếp tục, trong vòng lặp ta cho biến dem tăng lên 1 mỗi khi lặp, còn biến gan chia 10 mỗi khi lặp.

Bước 5: 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ố 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 gan
    int gan;
    //Khai bao bien dem = 0 
    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
    if(N == 0)//neu N=0 th́ bien dem = 1
    {
        dem = 1;
    }   
    // khai bao gan = N
    gan = N;
    while(gan != 0)//Neu biên gan con khac 0 thuc hien vong lap
    {
        dem = dem + 1;//bien dem tang len 1
        gan = gan / 10;//bien gan chia 10
    }
    //in bien dem ra man hinh
    printf("\nSo chu so cua %d la %d",N, dem);
}

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

Kết quả:

Nhap N: 125

So chu so cua 125 la 3

3. Tổng kết

Để thực hiện giải bài tập Đếm số lượng chữ số 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.