Trang chủLập trìnhLập trình C/C++Tìm max min của 3 số a b c nhập từ bàn...

Tìm max min của 3 số a b c nhập từ bàn phím lập trình C/C++

Trong bài viết này hãy cùng TUICOCACH.COM giải bài tập Tìm max min của 3 số a b c nhập từ bàn phím lập trình C/C++. Đây là một dạng bài tập rất cơ bản giúp cho việc luyện tập code lập trình C/C++.

Tìm max min của 3 số a b c trong C/C++

Ý tưởng của bài toán này sẽ rất đơn giản, ta có thể áp dụng theo 2 cách như sau:

Cách 1: Ta sử dụng 3 lệnh if, với mỗi lệnh if sẽ lấy 1 phần tử so sánh với 2 phần tử còn lại, nếu phần tử đó lớn hơn hoặc bằng cả 2 phần tử thì phần tử đó chính là max.

  • if(a >= b && a >= c) max = a;
  • if(b>= a && b>= c) max = b;
  • if(c >= a && c >= b) max = c;

Cách 2: Ta so sánh 2 phần tử a và b với nhau, tìm được số nào lớn hơn thì gọi là max, tiếp tục lấy max so sánh với phần tử c.

  • Bước 1: Nếu a > b thì max = a, ngược lại max = b
  • Bước 2: nếu max < c thì max = c

=> Tì min ta so sánh ngược lại

Chương trình mẫu

Mình sẽ viết chương trình mẫu như sau:

#include <stdio.h>

int main()
{
	int a, b, c;
	printf("Nhap ln luot 3 so a,b, c: ");
	scanf("%d %d %d", &a, &b, &c);
	
	printf("\n-------CACH 1-------\n");
	int max, min;
//Tìm max
	if(a >= b&&  a>= c) max = a;
	else if(b>= a && b>= c) max = b;
	else if(c >= a && c >= b) max = c;
//Tìm min	
	if(a <= b&&  a<= c) min = a;
	else if(b <= a && b<= c) min = b;
	else if(c <= a && c <= b) min = c;
	printf(" max la: %d\n min la: %d", max, min);
	
	
	printf("\n\n--------CACH 2-----\n");
//Tìm max
	if(a > b) max = a;
	if(max < c)	max=c;
	
//Tìm min	
	if(a > b) min = b;
	if(max > c)	min = c;
	printf(" max la: %d\n min la: %d", max, min);
	
}

Tuy nhiên khi viết code thì mình khuyến khích các bạn nên viết thành hàm, và dưới đây mình sẽ code mẫu như sau(Mình chỉ code với cách 2 nhé):

#include <stdio.h>
//Hàm tìm max giữa 2 số
int max(int a, int b){
	return a > b ? a : b; //Cách viết này tương tự như if else, a > b là điều kiện, sau dấu ? là trường hợp if, sau dấu : là else
}
//Hàm tìm min giữa 2 số
int min(int a, int b){
	if(a < b) return a;
	else return b;
}

//Hàm tìm và hiển thị Max, Min
void timMaxMin(int a, int b, int c)
{
	int maxx, minn; //Đặt tên biến như vậy để không trùng với tên hàm, khi đặt tên biến các bạn cũng nên lưu ý là kg nên đặt hản là max với min vì sẽ dễ bị trùng với tên hàm có sẵn trong các thư viên, ví dụ như thu viện math.h sẽ có sẵn hàm max, min

	maxx = 	max(a, max(b,c)); //Viết như này tức là mình tìm max giữa b với c rồi tiếp tục so sánh với a
	minn = 	min(a, min(b,c)); //Tương tự
	
	printf(" max la: %d\n min la: %d", maxx, minn); //Hiển thị kết quả
}
int main()
{
	int a, b, c;
	printf("Nhap ln luot 3 so a,b, c: ");
	scanf("%d %d %d", &a, &b, &c);
	
	timMaxMin(a, b, c);
	return 0;	
}

Bạn chạy thử chương trình nhé!

[Xem tất cả bài viết chủ đề C/C++ tại đây]

0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?


0
Giáo sư! có thể ném gạch bên dưới nhé!x
()
x