Nhập vào 3 số a, b, c in ra số lớn nhất và số nhỏ nhất in ra màn hình 3 số này theo thứ tự tăng dần

Đề bài: Viết chương trình nhập vào 3 số nguyên. Hãy hiển thị 3 số nguyên này ra màn hình theo thứ tự tăng dần và chỉ dùng tối đa 1 biến phụ


Yêu cầu kiến thức:

  • Phân tích, thiết kế giải thuật để không bỏ sót trường hợp
  • Vận dụng cách sắp xếp tự nhiên trong cuộc sống “Cuộc sống và lập trình”

Cơ sở lý thuyết: Chúng ta có 3 số nguyên a, b, c. Yêu cầu hiển thị 3 số nguyên này theo thứ tự tăng dần.

Ta so sánh theo từng cặp để không bỏ sót trường hợp nào. Xét lần lượt các cặp (a; b), (a; c) và (b; c)

  • Nếu a < b mà sai thì tức là a >= b (Ngược lại của < là >=)
  • Nếu a < c mà sai thì tức là a >= c. Kết hợp với trường hợp trên thì ta suy ra a lớn nhất (Vì a >= b và a >= c)
  • Nếu b < c mà sai thì tức là b >= c. Như vậy c là giá trị nhỏ nhất trong 3 số trên.

Code tham khảo dưới được lưu với phần mở rộng là “.cpp”:

// Ho ten: Hoang Van Tuan // Website: timoday.edu.vn // De bai: /* Bai 3: Hien thi 3 so nguyen theo thu tu tang dan. Yeu cau dung toi da 1 bien phu */ #include #include using namespace std; // Khai bao ham void Swap(int &x, int &y); // Ham hoan chuyen 2 so nguyen truyen vao //===chuong trinh chinh=== int main() { // Khai bao bien int a, b, c, tg; // Nhap du lieu cout<<"Nhap vao so nguyen thu nhat: "; cin>>a; cout<<"Nhap vao so nguyen thu hai: "; cin>>b; cout<<"Nhap vao so nguyen thu ba: "; cin>>c; // Thiet ke giai thuat if(a= b if(a
Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây

This entry is part 13 of 69 in the series Học C Không Khó

84 / 100

Để luyện tập kiến thức cấu trúc if else đã học, hôm nay chúng ta tiếp tục làm bài tập tìm số lớn nhất trong 3 số a b c để luyện tập kiến thức đã học. Nếu bạn chưa biết tới khóa học lập trình C này, có thể bạn nên ghé thăm bài giới thiệu khóa học “Học C bá đạo” nhé. Còn bây giờ chúng ta sẽ đi vào làm bài tập luyện tập nhé.

Bài tập tìm số lớn nhất trong 3 số a b c

/*

Tìm số lớn nhất trong 3 số a, b, c nhập từ bàn phím

*/

Ý tưởng giải bài tập

  1. Nhập vào 3 số nguyên từ bàn phím
  2. Giả sử số đầu tiên là số lớn nhất
  3. Nếu số thứ 2 lớn hơn số lớn nhất, => số lớn nhất là số thứ 2
  4. Nếu số thứ 3 lớn hơn số lớn nhất => số lớn nhất là số thứ 3
  5. In ra giá trị của số lớn nhất

Video hướng dẫn tìm số lớn nhất trong 3 số

Lời giải tham 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

/*

    Tìm số lớn nhất trong 3 số a, b, c nhập từ bàn phím

*/

#include

int main()

{

    float a, b, c;

    printf("\nNhap 3 so a, b, c: ");

    scanf("%f%f%f", &a, &b, &c);

    // Tìm max theo C1

    float maxValue = a;

    if(b > maxValue){

        maxValue = b;

    }

    if(c > maxValue){

        maxValue = c;

    }

    // Tìm max theo C2

    // Không khuyến khích

    // if (a >= b && a >= c)

    // {

    //     printf("Max = %f", a);

    // }

    // else if (b >= a && b >= c)

    // {

    //     printf("Max = %f", b);

    // }

    // else

    // {

    //     printf("Max = %f", c);

    // }

}

Kết quả chạy chương trình:

[email protected]:~/Downloads/c-tutorial/day_15$ ./Max3Number

Nhap 3 so a, b, c: 5 4 9

Max = 9.000000

[email protected]:~/Downloads/c-tutorial/day_15$ ./Max3Number

Nhap 3 so a, b, c: 7.8

6

9.2

Max = 9.200000

Tham gia Forum Lập Trình Không Khó để cùng học tập và trao đổi kiến thức lập trình nhé!