Viết chương trình tìm số lớn nhất trong 2 số nguyên nhập từ bàn phím trong C

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 int main[] { int a, b, c; printf["Enter a, b and c\n"]; scanf["%d%d%d", &a, &b, &c]; int max = a; if[max < b] { max = b; } if[max < c] { max = c; } printf["Max is %d\n", 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 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\n"]; scanf["%d%d%d%d", &a, &b, &c, &d]; int max3 = max[ max[a, b], c ]; printf["Max of a, b, c is %d\n", max3]; int max4 = max[ max[a, b], max[c, d] ]; printf["Max of a, b, c, d is %d\n", 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.

#include int main[] {int a, b;printf["Nhập số a: "];scanf["%d", &a];printf["Nhập số b: "];scanf["%d", &b];printf["Số lớn hơn a là %d\n", ++a];printf["Số lớn hơn b là %d\n", ++b];

}

Nhập vào 2 số nguyên a, b từ bàn phím thông qua cửa sổ console. Hãy xuất ra màn hình giá trị nhỏ nhất và giá trị lớn nhất giữa hai số a và b.

Video giải thích chi tiết giải bài tập tìm số nhỏ nhất và số lớn nhất giữa hai số a, b



#include "stdio.h" int main[]{ // Khai bao bien int a, b, min, max; // Nhap du lieu printf["Nhap vao a = "]; scanf["%d", &a]; printf["Nhap vao b = "]; scanf["%d", &b]; // Xu ly min = [ab]?a:b; // Xuat du lieu printf["\n MAX = %d", max]; printf["\n MIN = %d", min]; }

Kết quả của chương trình:

Tên hàm: nguyen3so

Công việc: tìm ra số lớn nhất trong 3 số:

Input: 3 số nguyên a,b,c;

output: 1 số nguyên lớn nhất trong 3 số.

Thuật toán:

+ Khai báo biến max

+ Gán max =a

+ Nếu max num2]&&[num1>num3]] printf["\n Number1 la so lon nhat"]; else if[[num2>num3]&&[num2>num1]] printf["\n Number2 la so lon nhat"]; else printf["\n Number3 la so lon nhat"]; return 0; }

Giả sử bạn nhập ba số là: 15 200 101 thì kết quả sẽ như sau:

Bài viết này được đăng tại [free tuts .net]

Nhap vao ba so can kiem tra: 15 200 101 Number2 la so lon nhat

Thực ra bạn nên đưa chương trình nào vào một hàm riêng để có thể tái sử dụng nhiều lần. Tuy nhiên vì các bạn chưa học cách tạo hàm trong C nên tạm thời hãy hiểu thuật toan đã nhé. Còn nếu bạn đã biết thì có thể tham khảo đoạn code sau:

Hàm trả về số lớn nhất:

int find_max[int num1, int num2, int num3]{ int tmp; tmp = num1; if [num2 > tmp]{ tmp = num2; } if [num3 > tmp]{ tmp = num3; } return tmp; }

Video liên quan

Bài Viết Liên Quan

Chủ Đề