Lập trình C - Đảo ngược chuỗi

Đảo ngược chuỗi trong C

Đề bài: Viết chương trình C để đảo ngược chuỗi chuỗi.

Để thu được một chuỗi đảo ngược của chuỗi ban đầu, bạn cần khai báo thêm một chuỗi đích có kích cỡ bằng kích cỡ với chuỗi ban đầu. Sử dụng vòng lặp để duyệt qua từng ký tự của chuỗi ban đầu rồi sau đó gán giá trị ký tự đó cho chuỗi đích. Kiểm tra khi nào gặp giá trị null (ký tự '\0') thì kết thúc vòng lặp.

Lời giải

Dưới đây là chương trình C để giải bài tập đảo ngược chuỗi trong C:

#include <stdio.h>
 
int main() {
   char s1[] = "Hiepsiit.Com";    // khai bao chuoi
   char s2[8];                // bien de giu chuoi dao nguoc
 
   int length = 0;
   int i = 0;
 
   // tinh do dai chuoi ban dau
   while(s1[length] != '\0') {
      length++;
   }
    
   printf("\nChuoi ban dau: ");
   printf("%s", s1);
       
   printf("\nChuoi theo chieu dao nguoc: ");
   for(i = --length; i>=0; i--)
      printf("%c", s1[i]);
 
   i = 0;
   printf("\nLuu giu chuoi nay trong chuoi dao nguoc: ");
   while(length >= 0) {
      s2[length] = s1[i];
      length--;
      i++;
   }
 
   s1[i] = '\0';           // gia tri null, ket thuc chuoi
 
   printf("%s\n", s2);
 
   return 0;
}

Chạy chương trình C trên cho kết quả như sau:

Đảo ngược chuỗi trong C