This entry is part 41 of 69 in the series Học C Không Khó
81
/ 100
Bài toán: Nhập vào mảng một chiều. Hãy tìm số lớn nhất trong mảng, tìm số nhỏ nhất trong mảng.
Viết chương trình tìm số lớn nhất trong mảng
Để tìm số lớn nhất trong mảng ta thực hiện các bước như sau
- Khởi tạo giá trị max=a[0]
- Duyệt lần lượt các phần tử của mảng. Nếu phần tử nào có giá trị lớn max thì ta tiến hành gán giá trị đó cho max.
- Sau khi duyệt hết các phần tử của mảng thì ta tiến hành trả về giá trị của max
- Hàm max sẽ có kiểu trả về là kiểu int (hoặc kiểu long cũng được ).
- Cần có hai tham số truyền vào là: tên mảng và số lượng phần tử.
Code tham khảo cách viết hàm tìm giá trị lớn nhất trong mảng như sau
|
int max(int a[], int n) { int max = a[0]; for (int i = 1; i < n; i++) if (max < a[i]) max = a[i]; return max; } |
Viết chương trình tìm số nhỏ nhất trong mảng
Tương tự như trên ta cũng làm lần lượt các bước
- Khởi tạo giá trị min=a[0]
- Duyệt lần lượt các phần tử của mảng. Nếu phần tử nào có giá trị nhỏ hơn min thì ta tiến hành gán giá trị đó cho min.
- Sau khi duyệt hết các phần tử của mảng thì ta tiến hành trả về giá trị của min.
- Hàm min sẽ có kiểu trả về là kiểu int (hoặc kiểu long cũng được ).
- Cần có hai tham số truyền vào là: tên mảng và số lượng phần tử.
Code tham khảo cách viết hàm tìm giá trị nhỏ nhất như sau
|
int min(int a[], int n) { int min = a[0]; for (int i = 1; i < n; i++) if (min > a[i]) min = a[i]; return min; } |
Sau khi viết được hai hàm tính min, max thì chương trình của chúng ta đã có thể giải quyết được bài toán ở trên.
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
|
#include <stdio.h> void nhap(int a[], int n) { for (int i = 0; i < n; i++) { printf("Nhap vao phan tu a[%d]: ", i); scanf("%d", &a[i]); } } int max(int a[], int n) { int max = a[0]; for (int i = 1; i < n; i++) if (max < a[i]) max = a[i]; return max; } int min(int a[], int n) { int min = a[0]; for (int i = 1; i < n; i++) if (min > a[i]) min = a[i]; return min; } int main() { int a[1000]; int n; printf("\nNhap n = "); scanf("%d", &n); nhap(a, n); printf("\nMax = %d", max(a, n)); printf("\nMin = %d", min(a, n)); return 0; } |
|
Nhap n = 5 Nhap vao phan tu a[0]: 12 Nhap vao phan tu a[1]: 16 Nhap vao phan tu a[2]: 19 Nhap vao phan tu a[3]: 32 Nhap vao phan tu a[4]: 14 Max = 32 Min = 12 |
Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi! Theo dõi lập trình không khó tại:
|