1. Bài tập nhập đếm số khoảng trắng trong chuỗi bằng ngôn ngữ lập trình C

Bài tập này chúng ta sẽ sử dụng các kiến thức từ ngôn ngữ lập trình C như: cách nhập xuất chuỗi cơ bản trong ngôn ngữ lập trình C, cách sử dụng hàm trong C và hàm strstr() trong ngôn ngữ lập trình C.

Yêu cầu của bài tập đưa ra cho chúng ta là đếm số lượng khoảng trắng trong chuỗi bằng ngôn ngữ lập trình C.

2. Lời giải

Để thực hiện bài toán này chúng ta cần có kiến thức cơ bản về ngôn ngữ lập trình C, các cách nhập xuất chuỗi cơ bản trong C, cách sử dụng hàm trong ngôn ngữ lập trình C và cách sử dụng hàm strstr() trong ngôn ngữ lập trình C.

Vậy hàm strstr() là gì ?

Hàm strstr() được sử dụng để tìm 1 chuỗi con trong 1 chuỗi mẹ.

Hàm này tìm kiếm sự xuất hiện của chuỗi con trong chuỗi mẹ. Nếu không tìm thấy thì trả về con trỏ NULL. Nếu tìm thấy thì trả về con trỏ trỏ tới vị trí đầu tiên của chuỗi con được tìm thấy trong chuỗi mẹ.

Các bước thực hiện yêu cầu của bài tập nhập và hiển thị một chuỗi ra màn hình bằng ngôn ngữ lập trình C như sau:

Bước 1: Ta khởi tạo hàm void Demkhoangtrang(char a[100]) dùng để đếm số khoảng trắng có trong chuỗi ký tự. Trong hàm ta khởi tạo biến int dem = 0 dùng để đếm số khoảng trắng có troang chuỗi. Ta sử dụng vòng lặp while khi strstr(a,” “)!=NULL còn đúng thì ta tiếp tục lặp, trong vòng lặp ta tăng den lên 1 mỗi lần lặp và a = strstr(a,” “) + 1. Kết thúc lặp ta in biến đếm ra màn hình.

Bước 2: Trong hàm main khai báo biến char a[100] biến chứa ký thự ta sẽ nhập vào (tối đa 100 ký tự).

Bước 3: Nhập dữ liệu từ bàn phím gán vào biến a rồi in biến a ra màn hình.

Bước 4: Ta gọi hàm Demkhoangtrang(a) rồi chạy chương trình.

Chương trình thực hiện yêu cầu của bài tập đếm số lượng khoảng trắng trong chuỗi bằng ngôn ngữ lập trình C như sau:

#include <stdio.h> 
#include <string.h> 
void Demkhoangtrang(char a[100]){
    int dem=0;// khai bao bien dem
    while(strstr(a," ")!=NULL)//neu khoang trang co trong a tiep tuc lap
    {
        dem++;//tang dem len 1
        a = strstr(a," ") + 1;
    }
    printf("\nSo khoang trang co trong chuoi la: %d", dem);
}
int main(){ 
    char a[100];// khai bao chuoi a có toi da 100 ky tu
    printf("Nhap vao chuoi ky tu: "); 
    gets(a);
    printf("Chuoi ly tu vua nhap la :"); 
    printf("%s",a); 
    Demkhoangtrang(a);
}

Ví dụ tôi nhập vào chuỗi: lap trinh tu dau

Kết quả:

Nhap vao chuoi ky tu: lap trinh tu dau
Chuoi ly tu vua nhap la :lap trinh tu dau
So khoang trang co trong chuoi la: 3

3. Tổng kết

Sau khi làm bài tập này các bạn cần phải hiểu và nắm được những kiến thức sau:

  • Cách nhập xuất chuỗi cơ bản trong ngôn ngữ lập trình C.
  • Cách tính nhập chuỗi có khoảng trắng trong ngôn ngữ lập trình C.
  • Cách sử dụng hàm trong C.
  • Cách sử dụng hàm strstr trong C.
  • Cách đếm khoảng trắng trong chuỗi ký tự bằng ngôn ngữ lập trình C.