Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Đảo ngược chuỗi không dùng hàm thư viện trong C


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