Friday, July 17, 2020

Bài tập chuỗi trong C

Xin chào mừng bạn đến với những bài học c cơ bản, hôm nay mình sẽ giới thiệu cho các bạn một trong những bài tập chuỗi trong c, với những bài tập để giúp cho các bạn nắm vững những cách thao tác chuỗi một cách thân thuộc nhất.
Chuỗi là một mảng các ký tự kết thúc bằng ký tự null \ 0.
Bài tập chuỗi trong C

Tất cả các ví dụ được đề cập trong trang đều liên quan đến các chuỗi trong lập trình C. Để hiểu tất cả các ví dụ trên trang này, bạn nên có kiến thức về:


Sau đây là những ví dụ liên quan đến chuỗi trong C

  1. Đếm số lần xuất hiện của một ký tự trong một chuỗi trong C
  2. Đếm số nguyên âm, phụ âm, chữ số và khoảng trắng trong C
  3. Đảo ngược một chuỗi sử dụng đệ quy
  4. Tính độ dài của một chuỗi C
  5. Nối hai chuỗi trong C
  6. Chương trình C để sao chép một chuỗi
  7. Xóa tất cả các ký tự trong một chuỗi trừ bảng chữ cái
  8. Sắp xếp các yếu tố theo thứ tự từ điển (thứ tự từ điển)

Đếm số lần xuất hiện của một ký tự trong một chuỗi
Chương trình:
#include <stdio.h>
int main() {
    char str[1000], ch;
    int count = 0;
    printf("Nhập chuỗi: ");
    fgets(str, sizeof(str), stdin);
    printf("Nhập một ký tự cần tìm: ");
    scanf("%c", &ch);
    for (int i = 0; str[i] != '\0'; ++i) {
        if (ch == str[i])
            ++count;
    }
    printf("Frequency of %c = %d", ch, count);
    return 0;
}
Kết quả:
Nhập chuỗi: tran tien anh                                                                                                   
Nhập một ký tự cần tìm: t                                                                                                   
Frequency of t = 2  
 Đếm số nguyên âm, phụ âm, chữ số và khoảng trắng trong C
Chương trình:
#include <stdio.h>
int main() {
    char line[150];
    int vowels, consonant, digit, space;
    vowels = consonant = digit = space = 0;
    printf("Nhập chuỗi:");
    fgets(line, sizeof(line), stdin);
    for (int i = 0; line[i] != '\0'; ++i) {
        if (line[i] == 'a' || line[i] == 'e' || line[i] == 'i' ||
            line[i] == 'o' || line[i] == 'u' || line[i] == 'A' ||
            line[i] == 'E' || line[i] == 'I' || line[i] == 'O' ||
            line[i] == 'U') {
            ++vowels;
        } else if ((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z')) {
            ++consonant;
        } else if (line[i] >= '0' && line[i] <= '9') {
            ++digit;
        } else if (line[i] == ' ') {
            ++space;
        }
    }
    printf("Nguyên âm: %d", vowels);
    printf("\nPhụ âm: %d", consonant);
    printf("\nChữ số: %d", digit);
    printf("\nKhoảng trắng: %d", space);
    return 0;
}
Kết quả:
Nhập chuỗi:tienanhvn                                                                                                       
Nguyên âm: 3                                                                                                               
Phụ âm: 6                                                                                                                   
Chữ số: 0                                                                                                                   
Khoảng trắng: 0 
 Đảo ngược một chuỗi sử dụng đệ quy
Chương trình:
#include <stdio.h>
void reverseSentence();
int main() {
    printf("Nhập chuỗi: ");
    reverseSentence();
    return 0;
}
void reverseSentence() {
    char c;
    scanf("%c", &c);
    if (c != '\n') {
        reverseSentence();
        printf("%c", c);
    }
}
Kết quả:
Nhập chuỗi: tran tien anh                                                                                                   
hna neit nart   
Tính độ dài của một chuỗi C
Chương trình:
#include <stdio.h>
int main() {
    char s[] = "Chương trinh đang chạy";
    int i;
    for (i = 0; s[i] != '\0'; ++i);
 
    printf("Độ dài chuỗi: %d", i);
    return 0;
}
Kết quả:
Độ dài chuỗi: 27
Chương trình nối hai chuỗi trong C
Chương trình:
#include <stdio.h>
int main() {
  char s1[100] = "Lập trình ", s2[] = "c cơ bản";
  int length, j;
  // chiều dài cửa hàng của s1 trong biến chiều dài
  length = 0;
  while (s1[length] != '\0') {
    ++length;
  }
  // nối s2 thành s1
  for (j = 0; s2[j] != '\0'; ++j, ++length) {
    s1[length] = s2[j];
  }
  // chấm dứt chuỗi s1
  s1[length] = '\0';
  printf("Chuỗi sau cùng: ");
  puts(s1);
  return 0;
}
Kết quả:
Chuỗi sau cùng: Lập trình c cơ bản 

No comments:

Post a Comment