Nhập vào các số thực cho đến khi gặp 0 đưa ra giá trị lớn nhất trong các số vừa nhập

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.

  • Input
  • Output

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: