Xem thêm

Bài tập chuỗi trong C - Luyện tập và lời giải mới

Huy Erick
Trong bài viết này, chúng ta sẽ cùng tìm hiểu về các bài tập chuỗi trong ngôn ngữ lập trình C. Mình sẽ tổng hợp những bài tập kèm lời giải để bạn có thể...

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về các bài tập chuỗi trong ngôn ngữ lập trình C. Mình sẽ tổng hợp những bài tập kèm lời giải để bạn có thể tham khảo và rèn kỹ năng lập trình của mình. Hãy thử làm trước rồi so sánh với đáp án để nắm vững kiến thức hơn nhé.

Bài 1: Tính độ dài của chuỗi không sử dụng hàm có sẵn

#include  int length(char str[]){     int i = 0;     for(; str[i]; i++);     return i; } int main(){     char str[100];     printf("Nhập chuỗi: ");     gets(str);     printf("Chiều dài chuỗi = %d", length(str)); }

Bài 2: Kiểm tra tính đối xứng của chuỗi

#include  #include  char isSymmetric(char s1[100]) {     int i;     for (i = 0; i < strlen(s1) / 2; i++) {         if (s1[i] != s1[strlen(s1) - 1 - i]) {             return 0;         }     }     return 1; } int main() {     char s1[100];     printf("Nhập chuỗi: ");     gets(s1);     if (isSymmetric(s1) == 0) {         printf("Chuỗi vừa nhập không phải chuỗi đối xứng");     }     if (isSymmetric(s1) == 1) {         printf("Chuỗi vừa nhập là chuỗi đối xứng");     } }

Bài 3: Đếm số lần xuất hiện của ký tự trong chuỗi

#include  #include  char count(char chuoi[100], char n) {     int i, dem = 0;     for (i = 0; i < strlen(chuoi); i++) {         if (chuoi[i] == n) {             dem++;         }     }     if (dem > 0) {         printf("Ký tự %c xuất hiện %d lần trong chuỗi", n, dem);     }     if (dem == 0) {         return 1;     } } int main() {     char chuoi[100], n;     printf("Nhập chuỗi: ");     gets(chuoi);     printf("Chuỗi vừa nhập là: %s\n", chuoi);     printf("Nhập vào ký tự cần đếm: ");     scanf("%c", &n);     if (count(chuoi, n) == 1) {         printf("Ký tự %c không có trong chuỗi", n);     } }

Bài 4: Chuyển đổi chuỗi thành chữ viết hoa, viết thường và viết hoa chữ cái đầu mỗi từ

#include  #include  void toLower(char s[]) {     for (int i = 0; s[i] != '\0'; i++) {         if (s[i] >= 'A' && s[i] <= 'Z') {             s[i] = s[i] + 32;         }     } } void toUpper(char s[]) {     for (int i = 0; s[i] != '\0'; i++) {         if (s[i] >= 'a' && s[i] <= 'z') {             s[i] = s[i] - 32;         }     } } void toTitle(char str[]) {     for (int i = 0; str[i] != '\0'; i++) {         if (str[i] >= 'A' && str[i] <= 'Z')             str[i] += 32;         if (str[i - 1] == ' ' || i == 0) {             if (str[i] >= 'a' && str[i] <= 'z')                 str[i] = str[i] - 32;         }     } } int main() {     char s[100];     printf("Nhập chuỗi: ");     gets(s);      //Chuyển thành chữ thường     toLower(s);     printf("Chuỗi chữ thường: %s", s);      //Chuyển thành chữ hoa     toUpper(s);     printf("Chuỗi chữ hoa: %s", s);      //Chuyển thành viết hoa chữ đầu mỗi từ     toTitle(s);     printf("Chuỗi viết hoa chữ cái đầu: %s", s);      return 0; }

Bài 5: Nhập và hiển thị danh sách sinh viên

#include  #include  int main(){     char arr[1000][50];     int n;     do{         printf("Nhập số lượng sinh viên: ");         scanf("%d", &n);     }while(n < 1);      // Nhập danh sách     for(int i = 0; i < n; i++){         printf("Tên sinh viên thứ %d: ", i+1);         fflush(stdin);         gets(arr[i]);     }      // Xuất danh sách     for(int i = 0; i < n; i++){         printf("Tên sinh viên thứ %d: %s\n", i+1, arr[i]);     } }

Bài tập chuỗi trong C - Minh họa mảng chuỗi 2 chiều Hình ảnh minh họa mảng chuỗi 2 chiều

Đó là những bài tập chuỗi trong ngôn ngữ lập trình C mà mình đã tổng hợp và cung cấp lời giải cho bạn. Hy vọng rằng qua việc làm các bài tập này, bạn đã nắm vững kiến thức về chuỗi trong ngôn ngữ C hơn. Hãy thực hành thường xuyên để trở thành một lập trình viên giỏi nhé!

1