Mảng một chiều trong C

C

Ví d 1 : bạn muốn tính trung bình 10 số nguyên nhập vào từ bàn phím, bạn sẽ khai báo 10 biến: a, b, c, d, e, f, g, h, i, j có kiểu int và lập thao tác nhập cho 10 biến này như sau:

printf("Nhap vao bien a: ");
scanf("%d", &a);
10 biến bạn sẽ thực hiện 2 lệnh trên 10 lần, sau đó tính trung bình:
(a + b + c + d + e + f + g + h + i + j)/10

Điều này chỉ phù hợp với n nhỏ, còn đối với n lớn thì khó có thể thực hiện được. Vì vậy, khái niệm mảng được sử dụng

1 Khai báo

Ví d 2 int ia[10]; với int là kiểu của mảng, ia là tên mảng, 10 là số phần tử của mảng, tức mảng ia có tối đa 10 phần tử

hoặc :

int a[] = {1,2,3,4};

Ý nghĩa: Khai báo một mảng số nguyên gồm 10 phần tử, mỗi phần tử có kiểu int.

Các phần tử của mảng ia được mô tả như sau:

Từ ví dụ 2 ta có cú pháp khai báo mảng như sau:

Tên_ki tên_biến[spt];

Diến gii:

– Tên_kiểu là tên  của kiểu dữ liệu mà bạn muốn khai báo cho mảng

– Tên_biến là tên của mảng mà bạn muốn khai báo

– Spt: là số phần tử tối đa của mảng mà bạn muốn khai báo hay còn gọi là kích thức của mảng

2 Tham chiếđến tng phn t mng

Sau khi mảng được khai báo, mỗi phần tử trong mảng đều có chỉ số để tham chiếu. Chỉ số bắt đầu từ 0 đến n-1 (với n là kích thước mảng). Trong ví dụ 2, ta khai báo mảng 10 phần tử thì chỉ số bắt đầu từ 0 đến 9.

Như vậy, để truy xuất đến phần tử thứ i trong mảng ia ta viết ia[i], trong đó i chỉ được phép nhận một trong các giá trị từ 0 đến 9 vì mảng ia được khia báo chỉ có 10 phần tử

3 Nhp d liu cho mng

Mảng là một dãy các phần tử có cùng kiểu dữ liệu, việc nhập dữ liệu cho từng phần tử của mảng cũng giống như nhập dữ liệu cho biến thông thường

Ví dụ 3 nhập mảng bằng vòng lặp

for (i = 0; i < 10; i++) //vòng for có giá trị i chạy từ 0 đến 9
{
printf("Nhap vao phan tu thu %d: ", i + 1);
scanf("%d", &a[i]);
}

Ví dụ 4: Viết chương trình nhập vào n số nguyên. Tính và in ra trung bình cộng.

#include <stdio.h>
#include <conio.h>
int main()
{
int ia[50], i, in, isum = 0;
printf("Nhap vao gia tri n: ");
scanf("%d", &in);
//Nhap du lieu vao mang
for(i = 0; i < in; i++)
{
printf("Nhap vao phan tu thu %d: ", i + 1);
scanf("%d", &ia[i]); //Nhap gia tri cho phan tu thu i
}
//Tinh tong gia tri cac phan tu
for(i = 0; i < in; i++)
       isum += ia[i]; //cong don tung phan tu vao isum
printf("Trung binh cong: %.2fn", (float) isum/in);
getch();
}

kết quả :

Nhap vao gia tri n: 4
Nhap vao phan tu thu 1: 2
Nhap vao phan tu thu 2: 5
Nhap vao phan tu thu 3: 6
Nhap vao phan tu thu 4: 8

4 Đc d liu t mng

Việc đọc dữ liệu của mảng chúng ta cần chỉ rõ là cần đọc dữ liệu của phần tử thứ mấy trong mảng

Ví dụ 5:

for(i = 0; i < 10; i++)

printf("%3d ", ia[i]);

5 S dng biến mng

Ngoài kiểu int, bạn có thể khai báo mảng kiểu char, float, double…

Ví dụ 6: char cloai[20]; float ftemp[10];

Cách tham chiếu, nhập dữ liệu, đọc dữ liệu thực hiện như trên.

Leave a Reply

Your email address will not be published. Required fields are marked *