Hàm Đảo Ngược Một Chuỗi Trong C, Hàm Đảo Ngược Chuỗi Trong C++

Để rèn luyện kiến thức và kỹ năng về chuỗi trong C, thời điểm ngày hôm nay Lập trình không khó sẽ cùng những bạn đi làm bài tập đảo ngược chuỗi nhập từ bàn phím trong ngôn từ C / C + +. Chúng ta sẽ cùng nhau thực thi đảo ngược chuỗi không sử dụng hàm và đảo ngược chuỗi sử dụng hàm có sẵn trong những thư viện của ngôn từ C / C + +. Bạn đang xem : Hàm đảo ngược chuỗi trong c + +Input

Đảo ngược chuỗi không dùng hàm có sẵn

Nếu chưa biết cách nhập chuỗi các bạn có thể xem lại cách nhập chuỗi tại đây.

Bạn đang xem: Đảo ngược một chuỗi trong c

Đầu tiên những bạn phải đếm xem chuỗi có bao nhiêu kí tự. Với trách nhiệm này thì mình sẽ viết riêng một hàm Length ( ) trả về số lượng kí tự trong chuỗi. Lưu ý khi những bạn nhập chuỗi vào sử dụng hàm fgets ( ) thì nó sẽ đọc cả kí tự ” \ n ” ( hay kí tự enter ) vào cuối chuỗi. Nhiệm vụ của những bạn là không đếm kí tự này .Sau khi có được số lượng kí tự trong chuỗi, việc tiếp theo sẽ là đảo ngược chuỗi. Các bạn sẽ dùng một con trỏ kiểu char để lưu lại chuỗi đảo ngược .Nếu bạn chỉ cần xuất ra thì hoàn toàn có thể dùng 1 vòng for theo hướng ngược lại như hàm InDaoNguoc .Lời giải tìm hiểu thêm :

Đảo ngược chuỗi sử dụng hàm có sẵn

Với ngôn ngữ lập trình CVới ngôn từ lập trình CNgôn ngữ C có thư viện string. h, trong đó có hàm strrev ( ) giúp tất cả chúng ta hoàn toàn có thể đảo ngược chuỗi một cách đơn thuần :01234567891011121314#include #include int main(){char name = “Nguyen Van Hieu”;printf(“Truoc khi dao nguoc : %s\n”, name);printf(“Sau khi dao nguoc : %s”, strrev(name));return 0;}01234567891011121314 # include # include int main ( ) { char name = ” Nguyen Van Hieu ” ; printf ( ” Truoc khi dao nguoc : % s \ n “, name ) ; printf ( ” Sau khi dao nguoc : % s “, strrev ( name ) ) ; return 0 ; }Kết quả :012345PS G:\c_cources\day_57> g++ .\StringFuntion.cpp -o .\StringFuntionPS G:\c_cources\day_57> .\StringFuntion.exeTruoc khi dao nguoc : Nguyen Van HieuSau khi dao nguoc : ueiH naV neyugN012345PS G : \ c_cources \ day_57 > g + +. \ StringFuntion. cpp – o. \ StringFuntionPS G : \ c_cources \ day_57 >. \ StringFuntion. exeTruoc khi dao nguoc : Nguyen Van HieuSau khi dao nguoc : ueiH naV neyugNVới ngôn ngữ C++Với ngôn từ C + +

Với việc sử dụng thư viện string thì bạn không cần phải đếm số lượng kí tự nữa rồi! Rất tiện lợi phải không.

Đầu tiên thì bạn khởi tạo một temp ( kiểu string ) trống, sau đó ta lần lượt thêm từng kí tự vào cuối temp. Ta sẽ sử dụng hàm pusk_back để thêm kí tự vào cuối temp. Bây giờ trách nhiệm của tất cả chúng ta là lấy từng kí tự của s theo chiều từ sau tới và thêm vào temp .

Cuối cùng hàm DaoNguoc sẽ trả về temp, chính là chuỗi đã đảo ngược.

Xem thêm: Tải Ninja School Online Cách Chơi Ninja School Trên Pc

01234567891011121314151617181920212223#include#includeusing namespace std;string DaoNguoc(string s) {int length = s.length();string temp;for (int i = length-1; i >=0; i–) {temp.push_back(s);}return temp;}int main(){string s;cin.clear();getline(std::cin, s);cout “Chuoi sau khi dao nguoc la: “;cout DaoNguoc(s);return 0;}0123Hoc lap trinhChuoi sau khi dao nguoc la: hnirt pal coH01234567891011121314151617181920212223 # include # includeusing namespace std ; string DaoNguoc ( string s ) { int length = s.length ( ) ; string temp ; for ( int i = length-1 ; i > = 0 ; i — ) { temp. push_back ( s ) ; } return temp ; } int main ( ) { string s ; cin.clear ( ) ; getline ( std :: cin, s ) ; cout ” Chuoi sau khi dao nguoc la : ” ; cout DaoNguoc ( s ) ; return 0 ; } 0123H oc lap trinhChuoi sau khi dao nguoc la : hnirt pal coHHoặc đơn thuần hơn rất nhiều nếu sử dụng hàm sau đây :01234567891011121314#include #include using namespace std; int main() { string str = “Lap trinh khong kho”; // Reverse str reverse(str.begin(), str.end()); cout str; return 0; }01234567891011121314 # include # include using namespace std ; int main ( ) { string str = ” Lap trinh khong kho ” ; / / Reverse str reverse ( str.begin ( ), str.end ( ) ) ; cout str ; return 0 ; }Kết quả :012ohk gnohk hnirt paL012 ohk gnohk hnirt paLBài viết mình đến đây cũng xin kết thúc. Cám ơn những bạn đã theo dõi !Theo dõi lập trình không khó tại :Các bài viết trong khóa họcBài trước: Bài 57. Các hàm trong thư viện string.hBài sau: Bài 59. Chuyển kiểu string sang intTAGS FacebookTwitterPinterestWhatsApp
*
*
*
*
*

Sự khác nhau giữa C và C++ là gì?

Học lập trình online với mức giá ưu đãi

Bảng băm – Hash tables

Subscribe Connect withNotify of new follow-up commentsLabelName*Email*WebsiteConnect withLabelName*Email*Website7 Bình luận Inline FeedbacksView all commentsLoad More Comments Khóa học miễn phíTAGS FacebookTwitterPinterestWhatsAppSubscribe Connect withNotify of new follow-up commentsLabelName * Email * WebsiteConnect withLabelName * Email * Website7 Bình luận Inline FeedbacksView all commentsLoad More Comments Khóa học không lấy phí

Lập Trình Không Khó là một cộng đồng chia sẻ và đào tạo lập trình phi lợi nhuận hàng đầu tại Việt Nam.

Liên hệ hoặc Hợp tác & Quảng cáoBloggerFacebookLinkedinRSSYoutube

BÀI VIẾT HAY

Bài 1. Giới thiệu khóa học “Học C Bá Đạo”

1000 bài tập lập trình C/C++ có lời giải của thầy Khang

Kiểm tra số nguyên tố sử dụng C/C++ và Java

CHUYÊN MỤC HAY

Liên hệ hoặc Hợp tác và Quảng cáoBloggerFacebookLinkedinRSSYoutube- BẠN BÈ và ĐỐI TÁC -70Would love your thoughts, please comment.x()x| ReplyInsertNHIỀU BÀI VIẾT HƠN

Cách cài đặt stack có sử dụng template

Bài 54. Mảng 2 chiều trong C

70W ould love your thoughts, please comment. x ( ) x | ReplyInsertNHIỀU BÀI VIẾT HƠN