C/C++ Trả lời câu hỏi tìm số nhỏ nhất, lớn nhất trong mảng một chiều

C/C++ Trả lời câu hỏi tìm số nhỏ nhất, lớn nhất trong mảng một chiều

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.

#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;

}
Bạn thấy bài viết này như thế nào?: 
Average: 7.2 (6 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Bình luận (0)

 

Add Comment

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
14 lý do nên tránh: Bernt’s Drupal Gotchas

14 lý do nên tránh: Bernt’s Drupal Gotchas

During my first year of being a full time Drupal developer, I ran into quite a few stumbling blocks. Here are 14 of them that you don't want to trip over too - whether you are new to Drupal or a seasoned expert.

Kích hoạt Timeline cho Facebook - Đi là không trở lại

Kích hoạt Timeline cho Facebook - Đi là không trở lại

Facebook đã chính thức cung cấp giao diện Timeline cho người dùng trên mọi trình duyệt, từ máy tính cho đến thiết bị di động nền Android.

Mercury LoadRunner 8.0

Các tính năng của Mercury LoadRunner 8.0

Công cụ Virtual User Generator để tạo User ảo (Virtual User), với các hành vi được copy từ thao tác của người duyệt web.

Tomdesgin.vn

 

Drupal Services