Tìm vị trí ký tự trong chuỗi C

 

Hướng dẫn cách tìm vị trí ký tự trong chuỗi C. Bạn sẽ học được cách tìm vị trí ký tự trong chuỗi C, cách tìm số lần xuất hiện của một ký tự trong một chuỗi trong C, cũng như cách tìm vị trí xuất hiện thứ n của một ký tự trong chuỗi cho trước bằng hàm tự tạo sau bài học này.

Tìm vị trí ký tự trong chuỗi C

Để tìm vị trí ký tự trong chuỗi C, ví dụ như tìm vị trí của ký tự “ o ” trong chuỗi “ Good School ” ví dụ điển hình, tất cả chúng ta hoàn toàn có thể dùng tới vòng lặp for để lấy và so sánh từng ký tự trong chuỗi bắt đầu với ký tự cần tìm để tìm ra vị trí của ký tự đó trong chuỗi bắt đầu .

Cụ thể chúng ta viết chương trình tìm vị trí ký tự trong chuỗi C như sau:

int main(void){
  char str[]= "Good School";
  char chr = 'o';  

  
  int len = strlen(str);


  
  for (int i=0; i < len; i++){
      
      if (str[i] == chr) printf("Tim thay ky tu %c tai vi tri: %d\n",chr,i);
  }
  return 0;
}

Kết quả, chúng ta có thể tìm thấy vị trí xuất hiện của ký tự trong chuỗi ban đầu như sau:

Tim thay ky tu o tai vi tri: 1
Tim thay ky tu o tai vi tri: 2
Tim thay ky tu o tai vi tri: 8
Tim thay ky tu o tai vi tri: 9

Tìm số lần xuất hiện của một ký tự trong một chuỗi trong C

Để tìm số lần Open của một ký tự trong một chuỗi trong C, tất cả chúng ta hoàn toàn có thể sử dụng lại cách tìm vị trí ký tự trong chuỗi C ở trên. Tuy nhiên tất cả chúng ta cũng cần thêm giải quyết và xử lý đếm số lần Open vào chương trình .

Cụ thể chúng ta viết chương trình tìm số lần xuất hiện của một ký tự trong một chuỗi trong C như sau:

int main(void){
  char str[]= "Good School";
  char chr = 'o';
  int count= 0;


  
  int len = strlen(str);


  
  for (int i=0; i < len; i++){
      
      if (str[i] == chr){
          count += 1;
      }        
  }
  printf("Tong so lan tim thay ky tu: %d",count);
}

Kết quả, chúng ta có thể tìm thấy tổng số lần xuất hiện của ký tự chỉ định trong chuỗi ban đầu như sau:

Tong so lan tim thay ky tu: 4

Tìm vị trí xuất hiện thứ n của một ký tự trong chuỗi cho trước

Để tìm vị trí Open thứ n của một ký tự trong chuỗi cho trước, ví dụ như tìm vị trí Open thứ 3 của ký tự “ o ” trong chuỗi “ Good School ” ví dụ điển hình, tất cả chúng ta hoàn toàn có thể dùng tới vòng lặp for để lấy và so sánh từng ký tự trong chuỗi khởi đầu với ký tự cần tìm .

Dưới đây là một ví dụ:

int main(void){
  char str[]= "Good School";
  char chr = 'o';
  int count= 0, n =3;
  

  
  int len = strlen(str);


  
  for (int i=0; i < len; i++){
      
      if (str[i] == chr){
          count += 1;
          
          
          if (count == n){
            printf("%d",i);
            break;
          }
      }        
  }
}

Kết quả, chúng ta tìm ra được vị trí thứ 8 chính là vị trí thứ 3 của ký tự 'o' trong chuỗi ban đầu.

Trên đây là cách đơn thuần và trực quan nhất mà Kiyoshi muốn trình làng cho bạn. Ngoài cách này ra thì còn rất nhiều cách khác đang chờ bạn tò mò đấy .

Tổng kết và thực hành

Trên đây Kiyoshi đã hướng dẫn bạn cách tìm vị trí ký tự trong chuỗi C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng khám phá những kiến thức và kỹ năng sâu hơn về C trong những bài học kinh nghiệm tiếp theo .