Thứ Sáu, 6 tháng 4, 2012

Hoán đổi giá trị của 2 biến không sử dụng biến trung gian

(Code demo bằng C)
Bài toán: Hoán đổi giá trị của 2 biến.
Cách thường dùng:
  • Tạo biến trung gian và gán giá trị bằng biến thứ nhất
  • Gán giá trị của biến thứ hai cho biến thứ nhất
  • Gán giá trị của biến trung gian cho biến thứ hai
Code:
#include <stdio.h>
#include <conio.h>
void main()
{
    int a=5, b=7, tg;
    clrscr();
    printf("a= %d\tb= %d",a,b);
    tg= a;
    a= b;
    b= tg;
    printf("\nSau khi hoan doi: a= %d\tb= %d",a,b);
    getch();
}
Cách không sử dụng biến trung gian:
Code:
#include <stdio.h>
#include <conio.h>
void main()
{
    int a=5, b=7;
    clrscr();
    printf("a= %d\tb= %d",a,b);
    a= a+b;
    b= a-b;
    a= a-b;
    printf("\nSau khi hoan doi: a= %d\tb= %d",a,b);
    getch();
}
Ghi chú: Đây là thuật toán, nên mình không giải thích mà chỉ giới thiệu, các bạn tự nghâm cứu mới thấy hay. Cách này giúp chúng ta tiết kiệm 1 biến trong lập trình. Chúc các bạn vui vẻ.^^

1 nhận xét: