Dùng hàm strrev() (thư viện)
Hàm strrev() đảo chuỗi, kết quả lưu lại trong chính chuỗi đó.
strrev(chuoi);
Ví dụ dùng strrev()
#include <stdio.h>
#include <string.h>
int main() {
char a[50];
printf("Nhap chuoi: ");
gets(a);
strrev(a);
printf("Chuoi dao nguoc = %s", a);
return 0;
}
Kết quả
Nhap chuoi: Hello Chuoi dao nguoc = olleH
Không dùng strrev() – tự viết thuật toán
Hoán đổi ký tự đầu-cuối, tiến dần về giữa.
Chương trình
#include <stdio.h>
#include <string.h>
int main() {
char str[20], temp;
int i, len;
printf("Nhap chuoi: ");
scanf("%s", str);
len = strlen(str) - 1;
for (i = 0; i < strlen(str)/2; i++) {
temp = str[i];
str[i] = str[len];
str[len--] = temp;
}
printf("Chuoi dao nguoc: %s", str);
return 0;
}
Kết quả
Nhap chuoi: Tutorialspoint Chuoi dao nguoc: tniopslairotuT