Để luyện tập kỹ năng về chuỗi vào C, từ bây giờ Lập trình ko khó khăn vẫn thuộc chúng ta đi làm việc bài xích tập hòn đảo ngược chuỗi nhập từ bỏ keyboard trong ngôn ngữ C/C++. Chúng ta vẫn bên nhau tiến hành hòn đảo ngược chuỗi ko áp dụng hàm với hòn đảo ngược chuỗi thực hiện hàm gồm sẵn trong các thỏng 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 ko sử dụng hàm có sẵn

Nếu chưa chắc chắn cách nhập chuỗi các bạn có thể xem xét lại bí quyết nhập chuỗi trên trên đây.

Thứ nhất chúng ta bắt buộc đếm xem chuỗi có bao nhiêu kí trường đoản cú. Với trọng trách này thì bản thân đã viết riêng rẽ một hàm Length() trả về con số kí trường đoản cú trong chuỗi. Lưu ý khi chúng ta nhập chuỗi vào thực hiện hàm fgets() thì nó đang phát âm cả kí từ " " (tốt kí từ bỏ enter) vào cuối chuỗi. Nhiệm vụ của chúng ta là không đếm kí tự này.

Sau khi đã đạt được số lượng kí trường đoản cú vào chuỗi, Việc tiếp theo sau đang là đảo ngược chuỗi. Các các bạn sẽ cần sử dụng một bé trỏ kiểu char nhằm bảo quản chuỗi đảo ngược.

Cuối thuộc hàm DaoNguoc đã trả về nhỏ trỏ cơ mà chúng ta dùng để làm giữ kí từ bỏ.

Xem thêm: Học Tiếng Anh Văn Bộ Ngoại Giao Có Tốt Không, Học Tiếng Anh Ở Bộ Ngoại Giao Có Tốt Không

Nếu bạn chỉ việc xuất ra thì có thể dùng 1 vòng for theo phía ngược trở lại như hàm InDaoNguoc.

Lời giải tđam mê khảo:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include
int Length(char s<>)

int i = 0;
while (s != NULL)
++i;
return i - 1;

char *DaoNguoc(char str<>)

int length = Length(str);
char *temp = new char;
for (int i = 0; i length; i++)

temp = str;

temp = NULL; //Kết thúc chuỗi
return temp;

void InDaoNguoc(char str<>)
int length = Length(str);
printf(" Chuoi sau khi dao nguoc la: ");
for (int i = length - 1; i >= 0; i--)

printf("%c", str);


int main()

char s<100>;
printf(" Nhap chuoi: ");
fgets(s, 100, stdin); // đề xuất cần sử dụng hàm fgets
/*gets(s);*/
char *kq = DaoNguoc(s);
InDaoNguoc(s);
printf(" Chuoi sau khoản thời gian dao nguoc la: %s", kq);
return 0;

0
1
2
3
4
5
6
7
8
PS G:c_courcesday_58> g++ .Reverse.cpp -o .Reverse
PS G:c_courcesday_58> .Reverse.exe
Nhap chuoi: Nguyen Van Hieu
Chuoi sau khoản thời gian dao nguoc la: ueiH naV neyugN
Chuoi sau khi dao nguoc la: ueiH naV neyugN

Đảo ngược chuỗi thực hiện hàm bao gồm sẵn

Với ngữ điệu xây dựng C

Ngôn ngữ C tất cả tlỗi viện string.h, trong những số đó gồm hàm strrev() góp chúng ta cũng có thể hòn đảo ngược chuỗi một bí quyết đơn giản:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include
#include
int main()

char name<30> = "Nguyen Van Hieu";
printf("Truoc Lúc dao nguoc : %s ", name);
printf("Sau khi dao nguoc : %s", strrev(name));
return 0;

Kết quả:


0
1
2
3
4
5
PS G:c_courcesday_57> g++ .StringFuntion.cpp -o .StringFuntion
PS G:c_courcesday_57> .StringFuntion.exe
Truoc lúc dao nguoc : Nguyen Van Hieu
Sau Lúc dao nguoc : ueiH naV neyugN

Với ngôn ngữ C++

Với Việc áp dụng tlỗi viện string thì các bạn không nhất thiết phải đếm con số kí tự nữa rồi! Rất tiện lợi yêu cầu không.

Đầu tiên thì các bạn khởi chế tạo ra một temp(dạng hình string) trống, kế tiếp ta thứu tự thêm từng kí tự vào cuối temp. Ta đã sử dụng hàm pusk_back để thêm kí từ vào thời gian cuối temp. Bây giờ trọng trách của chúng ta là rước từng kí tự của s theo chiều từ sau cho tới và cung cấp temp.

Cuối thuộc hàm DaoNguoc vẫn trả về temp, chính là chuỗi vẫn đảo ngược.


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include
#include
using 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 thời điểm dao nguoc la: ";
cout DaoNguoc(s);
return 0;

0
1
2
3
Hoc lap trinh
Chuoi sau khi dao nguoc la: hnirt pal coH

Hoặc đơn giản và dễ dàng rộng không ít nếu áp dụng hàm sau đây:


0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#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ả:


0
1
2
ohk gnohk hnirt paL

Bài viết mình mang lại đây cũng xin xong xuôi. Cám ơn chúng ta đang theo dõi !

Theo dõi thiết kế ko khó khăn tại:


TAGS
Facebook
Twitter
Pinterest
WhatsApp
*
*

Phnghiền toán làm việc bit vào C++ (Bitwise operation)


*

Tính lũy vượt ma trận trong C/C++


*

bài tập struct vào C/C++ bao gồm lời giải


*

Giới thiệu trang web Luyện Code Online


Giáo trình Kỹ thuật thiết kế C – Phạm Vnạp năng lượng Ất


Tổng vừa lòng tư liệu xây dựng C/C++ cho những người mới


Theo dõi
Kết nối với
Thông báo của
bình luận theo dõi và quan sát mới
Label
Name*
Email*
Website
Kết nối với
Label
Name*
Email*
Website
7 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
Tải thêm comment
Khóa học miễn phí

Blog chia sẻ kiến thức và kỹ năng xây dựng của Hiếu, gây ra xã hội những người học tập lập trình. Cho đi kỹ năng bản thân có là cách học tập hiệu quả nhất


Báo lỗi / Liên hệ / Hợp tác / Quảng cáo
Blogger
Facebook
Linkedin
Discord
Youtube

BÀI VIẾT HAY


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


1000 bài tập lập trình sẵn C/C++ tất cả giải thuật của thầy Khang


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


CHUYÊN MỤC HAY


- BẠN BÈ & ĐỐI TÁC -

---

© 2018-2020. Bản quyền thuộc Lập Trình Không Khó. Privacy và Terms


7
0
Rất ưng ý lưu ý đến của bạn, hãy phản hồi.x
()
x
| Reply
Insert
NHIỀU BÀI VIẾT HƠN

Bài 29. Hàm đẳng cấp void trong C


Bài 45. Sắp xếp dãy số bớt dần dần, tăng dần