Dùng ngôn ngữ gì vậy Kiệt? Nhưng về bản chất thì mình tách làm 3 chữ, lưu lại rồi sắp xếp ngược lại là được.
Đang xem: đảo ngược chuỗi trong c
Nguy_n_Trung_Ki_tbài này thì mình chủ yếu dùng strtok để tách từsau đó mình sẽ dùng đệ quy hoặc duyệt để sắp xếp lại
tùy bạn thôi
Chuyển sang python cho dễ học bạn ạ
result= ” “.join(reversed(s.split()))
Em xài devC anh Đạt :))
em định xài strtok để tách nó ra nhưng em không biết lưu nó ở đâu để xếp lại,em mới học chuỗi nên chưa có kinh nghiệm
Em dùng loop để lưu lại đi: http://www.cplusplus.com/reference/cstring/strtok/
Sau đó chèn vào đầu chuỗi output là được
trả về địa chỉ của chuỗi kí tự
Xem thêm: Thông Tin Tiểu Sử Ca Sĩ Quang Dũng (Ca Sĩ), Tiểu Sử Ca Sĩ Quang Dũng
Thế này đã được chưa vậy???
void ReverseString(char str<>){char str_new<255> = “”;for(int i = strlen(str) – 1; i >= 0; i–)if(str == ” “){strncat(str_new, str + i + 1, strlen(str + i + 1));strcat(str_new, ” “);str = 0;}strcat(str_new,str);printf(“%s
“, str_new);}
Đầu tiên bạn nên có 1 hàm dùng để tách từ từ 1 chuỗi rồi lưu nó vào mảng theo thứ tự tách từ trái qua phải. Sau đó bạn chỉ việc duyệt mảng sau khi tách từ cuối về đầu là OK thôi bạn.
Bài này mình nghĩ không cần mảng phụ hay tách ra gì cả. Chỉ cần đảo từng từ, sau đó đảo cả chuỗi thì ra kq thôi
Code tham khảo
#include #include void reverse(char * s,int begin,int end){ int i,len=end-begin+1; char t; for(i=0; i
j chạy từ i-1 -> 0
, char ** a=> char* a<100>; chẳng hạn
Xem thêm: Diễn Viên Quốc Cường: “Người Yêu Tôi Phải Đẹp Trước”, Diễn Viên Quốc Cường Rao Bán Căn Hộ 86 M2
Code đệ quy để vọc chơi
#include #include voidreverse_recursion(char* p){if (p!=NULL){reverse_recursion(strtok(NULL,” “));printf(“%s “,p);}}int main(){char a<>=”mot hai ba bon nam”;char* p=strtok(a,” “);reverse_recursion(p);getchar();getchar();return 0;}