#include<stdio.h>
int main()
{
int a, b;
printf("Nhap so a: "); scanf("%d", &a);
printf("Nhap so b: "); scanf("%d", &b);
printf("a = %d, b = %d", a, b);
//Hoán vị
printf("\na = %d, b = %d", b, a);
}
Em code vậy khi biên dịch và chạy nó cũng ra kết quả Hoán vị. Các bác xem giúp em sai chỗ nào ạ. Em mới nhập môn. :nụ cười:
Ừ, nó hoán vị rồi đấy, nhưng chưa hoán trị. Giá trị chúng vẫn như cũ thôi.
Điều thực sự cần là bạn hoán đổi giá trị của chúng.
Để khi gọi:
Thứ tự không thay đổi, nhưng giá trị thì đảo nhau.
Giả sử có 2 ly, 1 ly A chứa rượu và ly B chứa nước.
Bây giờ bạn có nghĩ ra cách nào để đổ nước qua ly A và rượu qua ly B không?
Chắc hẳn thực tế thì bạn sẽ tìm 1 cái ly thứ 3 (ly C) để đổ tạm vào đó rồi mới đổ qua lại giữa ly A và B phải không?
Lấy tạm ly C.
Đổ rượu từ ly A qua ly C. Ly C có rượu, ly A trống.
Đổ nước từ ly B qua ly A. Ly A đã có nước.
Đổ nước từ ly C qua ly B. Ly B đã có rượu.