Elementary Programming with C - Lab 6: Mảng
A. Kiến thức
• Hiểu về khái niệm mảng
• Nắm vững cấu trúc của mảng trong C: mảng 1 chiều, mảng 2 chiều
• Cách thức thao tác trên mảng
B. Kỹ năng:
• Xây dựng chương trình có cấu trúc
• Gỡ lỗi chương trình
• Phân tích đưa ra giải thuật phù hợp cho bài toán
• Áp dụng mềm dẻo các cấu trúc đã học.
Elementary Programming with C 2011
Create By SinhNX Page 1
LAB 6: Mảng
I- Chuẩn bị:
A. Kiến thức
• Hiểu về khái niệm mảng
• Nắm vững cấu trúc của mảng trong C: mảng 1 chiều, mảng 2 chiều
• Cách thức thao tác trên mảng
B. Kỹ năng:
• Xây dựng chương trình có cấu trúc
• Gỡ lỗi chương trình
• Phân tích đưa ra giải thuật phù hợp cho bài toán
• Áp dụng mềm dẻo các cấu trúc đã học.
II- Bài tập:
A. Bài tập cơ bản
1. Vẽ lưu đồ và viết chương trình khai báo một mảng số nguyên có 10 phần tử, nhập dữ liệu
cho mảng này và in ra các phần tử ở vị trí chẵn (0, 2, 4, …)
2. Vẽ lưu đồ và viết chương trình khai báo một mảng số nguyên (int) có 10 phần tử và một
mảng số thực (float) có 5 phần tử. Nhập dữ liệu cho mảng số thực sau đó gán các phần tử
của mảng số thực này cho các vị trí lẻ của mảng số nguyên (các phần tử còn lại bằng 0).
Cuối cùng hiển thị hai mảng này ra màn hình.
3. Vẽ lưu đồ và viết chương trình khai bảo một mảng số nguyên gồm 10 phần tử, nhập dữ liệu
cho mảng này rồi in ra màn hình giá trị lớn nhất, nhỏ nhất và số lần xuất hiện của chúng
trong mảng.
VD: int a[10] = {12, 8, 23, 8, 25, 8, 90, 21, 11, 90};
- Giá trị lớn nhất là 90, số lần xuất hiện 2.
- Giá trị lớn nhất là 8, số lần xuất hiện 3.
Elementary Programming with C 2011
Create By SinhNX Page 2
4. Vẽ lưu đồ và viết chương trình: Khai báo một mảng số nguyên có 5 phần tử, yêu cầu người
dùng nhập vào từ bàn phím số nguyên tố, nếu không phải là số nguyên tố yêu cầu nhập lại.
5. Vẽ lưu đồ và viết chương trình khai báo một mảng số nguyên gồm 10 phần tử, lấy số ngẫu
nhiên trong khoảng [0-100] gán cho các phần tử của mảng này. Sau đó nhập vào một số
trong khoảng tử [0-100]. Hiển danh sách số ngẫu nhiên, kiểm tra số đó có nằm trong dãy số
ngẫu nhiên vừa sinh ra hay không? vị trí xuất hiện đầu tiên của số nhập vào và số lần xuất
hiện số này trong dãy số đó.
Gợi ý: Sử dụng hàm srand() và rand() như sau:
srand (time(NULL) );
int random = rand() % 10; // random sẽ nhận giá trị ngẫu nhiên từ 0 đến 9
Chú ý: sử dụng 2 thư viện và
6. Viết chương trình khai báo một mảng số nguyên gồm 20 phần tử để lưu trữ 20 phần tử đầu
tiên của dãy số Fibonacci.
B. Bài tập nâng cao
1. Với yêu cầu quản lý mảng số nguyên tố như bài số 5 ở trên tuy nhiên số phần tử tăng lên
thành 20 và phần tử ngẫu nhiên của mảng phải là số nguyên tố nằm trong khoảng [0-200].
2. Viết chương trình quản lý mảng ký tự gồm 10 phần tử. Nhập từ bàn phím các ký tự thuộc
bảng chữ cái từ a-z, chuyển các phần tử trong mảng thành ký tự hoa(A-Z) và in kết quả ra
màn hình.
3. Sử dụng mảng 2 chiều kích thước [10 x 10] để hiển thị tam giác Pascal có chiều cao 5:
Trong tam giác Pascal phần tử 2 cạnh bên đều là 1, kể từ
dòng thứ 3 trở đi phần tử thứ 2 của dòng này bằng tổng
2 phần tử thứ 1 và 2 của dòng trước.
Tổng quát: a[i][j] = a[i-1][j-1] + a[i-1][j] với i>1, j>0
4. Để lưu trữ điểm 6 môn học kỳ 1 cho 5 học viên người ta sử dụng mảng 2 chiều gồm 5 dòng
và cột. Hãy viết chương trình để nhập điểm cho 5 học viên đó, hiển thị điểm và điểm trung
bình của mỗi học viên. VD:
File đính kèm:
Elementary Programming with C - Lab 6 Mảng.pdf
Code.rar
Flowchart - lab 6.docx

