Viết chương trình C để đểm số kí tự ch xuất hiện trong chuỗi

Các bước thực hiện để viết chương trình C:

0. Khởi tạo cho count = 0

1. Chạy vòng lặp để lấy được số kí tự của chuỗi length (hoặc dùng con trỏ thì ko cần bước này)

2. Chạy vòng for từ 0 đến length để kiểm tra (dùng con trỏ thì lặp tới khi gặp '\0')

3.Nếu kí tự tại vị trí đang duyệt = ch thì tăng biến đếm count lên 1

Code tham khảo của chương trình C:

Cách 1: dùng con trỏ

#include <stdio.h>

int countChars(const char* str, char ch) {
int count = 0;
while (*str != '\0') {
if (*str == ch) {
count++;
}
str++;
}
return count;
}

int main() {
char str1[] = "Hello, world!";
char str2[] = "The quick brown fox jumps over the lazy dog";
char str3[] = "C programming is fun";
printf("Number of 'l' in \"%s\": %d\n", str1, countChars(str1, 'l')); 
// Output: Number of 'l' in "Hello, world!": 3
printf("Number of 'o' in \"%s\": %d\n", str2, countChars(str2, 'o')); 
// Output: Number of 'o' in "The quick brown fox jumps over the lazy dog": 4
printf("Number of 'm' in \"%s\": %d\n", str3, countChars(str3, 'm')); 
// Output: Number of 'm' in "C programming is fun": 2
return 0;
}


 Cách 2: dùng mảng

#include <stdio.h>

int countChars(const char* str, char ch) {
int count = 0;
int length = 0;
while (str[length] != '\0') {
length++;
}
for (int i = 0; i < length; i++) {
if (str[i] == ch) {
count++;
}
}
return count;
}

int main() {
char str1[] = "Hello, world!";
char str2[] = "The quick brown fox jumps over the lazy dog";
char str3[] = "C programming is fun";
printf("Number of 'l' in \"%s\": %d\n", str1, countChars(str1, 'l')); 
// Output: Number of 'l' in "Hello, world!": 3
printf("Number of 'o' in \"%s\": %d\n", str2, countChars(str2, 'o')); 
// Output: Number of 'o' in "The quick brown fox jumps over the lazy dog": 4
printf("Number of 'm' in \"%s\": %d\n", str3, countChars(str3, 'm')); 
// Output: Number of 'm' in "C programming is fun": 2
return 0;
}


Chú ý: dùng const char* str ở đây để nói cho trình biên dịch biết là mình ko thay đổi giá trị của chuỗi