Yêu cầu:
– Hãy nhập 2 số thực a,b. Tìm giá trị lớn nhất của chúng và gán giá trị lớn nhất đó cho biến max
Phần tích:
– Cách 1: dùng câu lệnh if/else để tìm giá trị lớn nhất
– Cách 2: định nghĩa macro tìm giá trị lớn nhất
Code:
/
- Author: VNCODING
- History
- 2014/04/02 first create VNCODING */
include <stdio.h>
include <conio.h>
void main() { float a, b, max; printf("\nNhap a = "); scanf("%f", &a); printf("\n Nhap b = "); scanf("%f", &b); if(a > b) max = a; else max = b; printf("\nMax(%f, %f)= %f", a, b, max); getch(); }
/
- Author: VNCODING
- History
- 2014/04/02 first create VNCODING */
include <stdio.h>
include <conio.h>
// Khai bao ham tim gia tri lon nhat float Max(float a, float b); void main() { float a, b, max; printf("\nNhap a = "); scanf("%f", &a); printf("\nNhap b = "); scanf("%f", &b); max = Max(a, b); printf("\nMax(%f, %f)= %f", a, b, max); getch(); } //Dinh nghia ham tim gia tri lon nhat float Max(float a, float b) { float max = 0; if(a > b) max = a; else max = b; return max; }
/
- Author: VNCODING
- History
- 2014/04/10 first create VNCODING */
include <stdio.h>
include <conio.h>
// Dinh nghia ham tim gia tri lon nhat
define MAX(a,b) (a > b)? a : b
void main() { float a, b, max; printf("\nNhap a = "); scanf("%f", &a); printf("\nNhap b = "); scanf("%f", &b); max = MAX(a, b); printf("\nMax(%f, %f)= %f", a, b, max); getch(); } Kết quả:
Nhap a = 3 Nhap b = -9.7 Max(3.000000, -9.700000)= 3.000000
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 <b thì max =b
+ Nếu max <c thì max =c
+ Trả giá trị max về
include<stdio.h>
include<conio.h>
int nguyen3so (int a, int b, int c);
int main()
{
int a, b, c, max;
printf("\nNhap a: ");
scanf("%d", &a);
printf("\nNhap b: ");
scanf("%d", &b);
printf("\nNhap c: ");
scanf("%d", &c);
max= nguyen3so(a,b,c);
printf("\nSo lon nhat trong 3 so %d, %d, %d, la: %d", a, b, c, max);
getch();
}
int nguyen3so (int a, int b, int c)
{ int max;
max = a;
if(max < b)
max = b;
if(max < c)
max = c;
return max;
}
Đối với số thực:
Các bạn cũng có thể làm tương tự, thay "int" thành "float", kiểu %d --> %f.
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é):