1. Bài tập tìm vị trí phần tử nhỏ nhất trong mảng C

Để làm giải bài tập này ta cần dùng các cách nhập xuất cơ bản, cách sử dụng mảng một chiều trong C và các phép toán học cơ bản.

Đầu vào sẽ là các phần tử của mảng, yêu cầu của bài toán là tìm vị trí của số nhỏ nhất trong mảng một chiều bằng ngôn ngữ C.

2. Lời giải

Để giải được bài tập tìm vị trí của số nhỏ nhất trong mảng một chiều bằng ngôn ngữ C bạn phải có kiến thức về toán học cơ bản, có kiến thức về nhập xuất cơ bản và cách sử dụng mảng một chiều trong C.

Các bước thực hiện bài toán như sau:

Bước 1: khai báo biến int n dùng để nhập số phần tử của mảng, khai báo mảng tĩnh int a[100], khai báo biến int vt dùng để tìm vị trí của số nhỏ nhất trong mảng.

Bước 2: Nhập vào số phần tử của mảng nếu n<1 hoặc n>100 yêu cầu nhập lại.

Bước 3: Dùng vòng lặp for bắt đầu từ int i = 0 kết thúc tại i<= n và mỗi lần i tăng 1, nhập vào từ bàn phím giá trị cho các phần tử trong mảng.

Bước 4: Dùng vòng lặp for bắt đầu từ int i = 0 kết thúc tại i<= n và mỗi lần i tăng 1, in các phần tử trong mảng ra màn hình.

Bước 5: Khai báo biến int min = a[0] dùng để tính giá trị nhỏ nhất trong mảng; Dùng vòng lặp for bắt đầu từ int i = 0 kết thúc tại i<= n và mỗi lần i tăng 1 trong vòng for ta dùng điều kiện if nếu a[i] < min thì gán giá trị của min = a[i] và giá trị của vt = i.

Bước 6: In vt ra màn hình

Chương trình giải bài tập tìm vị trí của số nhỏ nhất trong mảng một chiều bằng ngôn ngữ C như sau :

#include<stdio.h>
int main()
{
    // khai bao n
    int n;
    // khai bao mang mot chieu a co toi da 100 phan tu
    int a[100];
    // khai bao vt
    int vt;
    // nhap vo so phan tu cua mang
    do{
    	printf("Nhap so phan tu mang:");
    	scanf("%d", &n);
    }while(n<1 || n>100);
    
    //nhap vao cac phan tu cua mang
    for(int i=0; i< n; i++)
    {
        printf("Nhap a[%d] = ",i);
        scanf("%d", &a[i]);
    }
    printf("Mang sau khi nhap la:\n");
    //hien thi mang ra man hinh
    for(int i=0; i< n; i++)
    {
        printf("%d \t",a[i]);
    }
    //khai bao bien min = a[0] dung de tinh min trong mang
    int min = a[0];
    for(int i=0; i< n; i++)
    {
        if(a[i]<min)// neu a[i] < min gan gia tri cua min = a[i]
        {
            min = a[i];
            vt = i;
        }
    }
    printf("\nVi tri cua min trong mang la:\n", vt);
}

Ví dụ tôi nhập mảng có 5 phần tử lần lượt là : 10, 22, 9, 50, 11

Kết quả:

Nhap so phan tu mang:5
Nhap a[0] = 10
Nhap a[1] = 22
Nhap a[2] = 9
Nhap a[3] = 50
Nhap a[4] = 11
Mang sau khi nhap la:
10 22 9 50 11
Vi tri cua min trong mang la: 2

3. Tổng kết

Để thực hiện giải bài tập tìm vị trí của số nhỏ nhất trong mảng một chiều bằng ngôn ngữ C bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản, các phép toán học cơ bản và cách ửu dụng mảng một chiều trong C.