2
Làm sao để đảo ngược từng ký tự trong 1 chuỗi sử dụng C/C++?
0
Cộng đồng đã đăng:

Bản chất của chuỗi là một mảng các ký tự, câu hỏi Làm sao để đảo ngược mảng 1 chiều các số nguyên trong C/C++? cũng tương tự như câu của bạn, bạn chỉ cần thay kiểu dữ liệu số nguyên int thành kiểu char hoặc dùng template của C++ để bao quát chung cho mọi kiểu dữ liệu là được.

minhkiet 23.11.2018
thêm bình luận...
0
Yomoto0 đã đăng:

Thử đoạn mã nguồn dưới đây, cách hoạt động của nó là bắt đầu duyệt từ cuối chuỗi về đầu chuỗi, với mỗi ký tự đi qua, bạn lưu nó lại vào một mảng mới, thực hiện bỏ qua đối với những ký tự xuống dòng \n và ký tự kết thúc dòng \0.

#include <stdio.h>
#include <string.h>

int main() {

    char *str = new char[1000];
    printf("Nhap vao 1 chuoi: ");
    fgets(str, 1000, stdin);

    int str_length = strlen(str);
    char *new_str = new char[str_length];

    int j = 0;
    for (int i = str_length - 1; i >= 0; i--) {

        if (str[i] == '\0' or str[i] == '\n')
            continue;

        new_str[j] = str[i];
        j++;
    }

    new_str[j] = '\0';
    printf("Chuoi sau khi dao nguoc la: %s\n", new_str);

    delete[]str;
    delete[]new_str;
}
thêm bình luận...
0
Cộng đồng đã đăng:

Bằng cách sử dụng vòng lặp while để lấy ra từng ký tự và so sánh chúng với nhau, chúng ta có thể tiến hành đảo ngược ký tự trong chuỗi C theo thứ tự trong bảng chữ cái.

Để so sánh các ký tự với nhau, chúng ta có thể sử dụng tới toán tử so sánh, hoặc là hàm strcmp() chẳng hạn.

Link tham khảo: Đảo ngược chuỗi trong C

thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)