Kiểm tra chuỗi có phải là chuỗi pangram hay không trong C
Trong lập trình, một chuỗi pangram là một chuỗi chứa tất cả các chữ cái trong bảng chữ cái tiếng Anh ít nhất một lần. Trong bài tập này,mình sẽ viết một chương trình trong ngôn ngữ lập trình C để kiểm tra xem một chuỗi đã cho có phải là chuỗi pangram hay không.
Chương trình kiểm tra chuỗi có phải là chuỗi pangram hay không trong C
Phương pháp giải quyết bài lập trình
- Mình sẽ sử dụng một mảng để theo dõi việc xuất hiện của các chữ cái trong chuỗi.
- Sau đó, mình sẽ duyệt qua từng ký tự trong chuỗi đã cho và kiểm tra xem ký tự đó có phải là một chữ cái không.
- Nếu là chữ cái, mình sẽ đánh dấu ký tự đó đã xuất hiện bằng cách đặt giá trị tương ứng trong mảng là true.
- Cuối cùng, mình sẽ kiểm tra xem tất cả các chữ cái đã xuất hiện ít nhất một lần hay không.
Hãy xem cách giải như sau:
Dưới đây là một ví dụ về cách cài đặt kiểm tra chuỗi có phải là chuỗi pangram trong ngôn ngữ lập trình C:
Bài viết này được đăng tại [free tuts .net]
#include <stdio.h> #include <stdbool.h> // Hàm kiểm tra xem chuỗi có phải là chuỗi pangram hay không bool isPangram(char *str) { bool visited[26] = {false}; // Mảng để theo dõi việc xuất hiện của các chữ cái // Duyệt qua từng ký tự trong chuỗi for (int i = 0; str[i] != '\0'; i++) { // Nếu là chữ cái tiếng Anh if ('a' <= str[i] && str[i] <= 'z') { // Đánh dấu ký tự đã xuất hiện visited[str[i] - 'a'] = true; } } // Kiểm tra xem tất cả các chữ cái đã xuất hiện ít nhất một lần hay không for (int i = 0; i < 26; i++) { if (visited[i] == false) { return false; // Nếu có chữ cái nào không xuất hiện, trả về false } } return true; // Nếu tất cả các chữ cái đã xuất hiện, trả về true } int main() { char str[] = "Tự học lập trình miễn phí tại freetuts.net"; // Kiểm tra và in kết quả if (isPangram(str)) { printf("Chuỗi là chuỗi pangram.\n"); } else { printf("Chuỗi không phải là chuỗi pangram.\n"); } return 0; }
Kết quả
Khi chạy chương trình với chuỗi "The quick brown fox jumps over the lazy dog", mình sẽ nhận được kết quả là chuỗi là chuỗi pangram, và chạy chuỗi "Tự học lập trình miễn phí tại freetuts.net" sẽ nhận được kết quả là Chuỗi không phải là chuỗi pangram.
Trong bài tập này, mình đã viết một chương trình trong ngôn ngữ lập trình C để kiểm tra xem một chuỗi đã cho có phải là chuỗi pangram hay không. Việc này giúp mình hiểu rõ hơn về cách thực hiện các thao tác với chuỗi và làm việc với mảng trong C.