Tráo đổi giá trị không sử dụng biến thứ ba trong C
Bài tập C: tráo đổi giá trị của hai biến không sử dụng biến thứ ba
Trong nhiều trường hợp, lập trình viên cần thực hiện phép tráo đổi giá trị của hai biến. Trong chương này, chúng ta cùng tìm hiểu cách để tráo đổi giá trị của hai biến nguyên, tuy nhiên bạn cũng có thể thực hiện tương tự để tráo đổi hai biến ở bất kỳ kiểu dữ liệu nào khác.
Giá trị của các biến có thể được tráo đổi theo hai cách:
Sử dụng biến thứ ba (một biến tạm)
Không thông qua biến thứ ba
Chương này chúng ta cùng tìm hiểu cách tráo đổi giá trị thứ hai. Để tìm hiểu cách thức tráo đổi giá trị còn lại, mời bạn click chuột vào chương: Tráo đổi giá trị (sử dụng biến thứ ba) trong C.
Cách tráo đổi giá trị hai biến a, b được thực hiện khá đơn giản, bằng cách:
- Cộng hai số a và b, lưu kết quả vào biến a.
- Trừ a cho b, lưu kết quả vào biến b, khi đó b bây giờ sẽ giữ giá trị của biến a ban đầu.
- Tiếp tục trừ a cho b (vừa được lưu) và lưu kết quả vào biến a, khi đó a sẽ giữ giá trị của biến b ban đầu.
Giải thuật cho bài tập C
Dưới đây là các bước giải thuật cho bài tập tráo đổi giá trị trong C:
Giả sử có hai biến var1 và var2 Bước 1: Cộng var1 và var2, sau đó lưu kết quả vào var1 Bước 2: Trừ đi giá trị var2 từ var1, sau đó lưu kết quả vào var2 Bước 3: Trừ đi giá trị var2 từ var1, sau đó lưu kết quả vào var1
Chương trình C
Dưới đây là chương trình C để giải bài tập tráo đổi giá trị trong C:
#includeint main() { int a, b; a = 11; b = 121; printf("Gia tri truoc khi trao doi: \n a = %d, b = %d \n\n", a, b); a = a + b; // ( 11 + 121 = 132) b = a - b; // ( 132 - 121 = 11) a = a - b; // ( 132 - 11 = 121) printf("Gia tri sau khi trao doi: \n a = %d, b = %d \n", a, b); }
Biên dịch chương trình C trên sẽ cho kết quả:
Bài học Bài tập C phổ biến tại hoconline.club: