01/10/2018, 22:39

Tìm số lớn nhất trong 3 số

Tìm số lớn nhất trong 3 số Tháng Năm 11, 2017 nguyenvanquan7826 TUT Bài tập tư duy lập trình Leave a response Chào các bạn, chắc hẳn các bạn đều biết cách tìm lớn nhất giữa 2 số a và b. Chúng ta chỉ việc so sánh a với b, số nào ...

Tìm số lớn nhất trong 3 số

Chào các bạn, chắc hẳn các bạn đều biết cách tìm lớn nhất giữa 2 số a và b. Chúng ta chỉ việc so sánh a với b, số nào lớn hơn thì lấy nó thôi. Nhưng với 3 số a, b, c thì sao?

Đề bài: Nhập 3 số nguyên a, b, c từ bàn phím, hãy in ra số lớn nhất trong 3 số đó.

Cách đơn giản mà các bạn có thể nghĩ ngay là so sanh a với b, sau đó so sánh số tìm được với c. Rất đơn giản.

/*
* Find max of a, b, c
*/

#include <stdio.h>

int main() 
{
	int a, b, c;

	printf("Enter a, b and c
");
	scanf("%d%d%d", &a, &b, &c);

	int max = a;
	if(max < b) 
	{
		max = b;
	}

	if(max < c) {
		max = c;
	}

	printf("Max is %d
", max);

	return 0;
}

Rất đơn giản phải không nào. Tuy nhiên nếu chúng ta nâng cấp lên chút là tìm số lớn nhất trong 4 số thì sao? Cách làm tương tự thôi, nhưng sẽ cần thêm 1 cái if nữa để kiểm tra. Với 5 số, 6 số, mỗi lần chúng ta sẽ cần thêm 1 if. Hơi dài dòng. Vậy các bạn hãy nghĩ đến cách dùng hàm nhé. Chúng ta xây dựng 1 hàm tìm max giữa 2 số, sau đó chúng ta có thể dùng lại nó rất tiện lợi. Như ví dụ dưới đây.

Đề bài: Nhập vào 4 số a, b, c, d từ bàn phím, hãy tím số lớn nhất trong 3 số a,b, c và số lớn nhất trong 4 số a, b, c, d.
/*
* Find max of a, b, c, d
*/

#include <stdio.h>

int max(int x, int y) 
{
	if(x > y) return x;
	return y;
}

int main() 
{
	int a, b, c, d;

	printf("Enter a, b, c and d
");
	scanf("%d%d%d%d", &a, &b, &c, &d);

	int max3 = max( max(a, b), c );
	printf("Max of a, b, c is %d
", max3);

	int max4 = max( max(a, b), max(c, d) );
	printf("Max of a, b, c, d is %d
", max4);

	return 0;
}

Rất đơn giải phải không. Hàm max sẽ trả về giá trị lớn nhất của 2 số, sau đó chúng ta có thể lấy nó để so sánh với các số khác.

Trong trường hợp tìm số lớn nhất của rất nhiều số thì các bạn hãy dùng tới mảng để nhập và lưu trữ các số đó, sau đó thì tìm số lớn nhất trong mảng.

Bài tập: Nhập vào dãy gồm n số nguyên từ bàn phím (n nhập từ bàn phím), hãy tím số lớn nhất trong dãy n số đã nhập.
0