Chào các bạn! Hôm nay chúng ta sẽ giải quyết một số bài tập về mảng 1 chiều. Đề bài yêu cầu viết code trong hàm main và không được sử dụng hàm con. Hãy cùng tìm hiểu và giải quyết các bài tập thú vị này!
Các bài tập mảng 1 chiều phổ biến
Đầu tiên, hãy xem qua một bài tập tổng hợp về kiến thức về mảng 1 chiều.
Đề bài tập mảng 1 chiều như sau:
- Nhập từ bàn phím mảng số nguyên gồm n phần tử.
- Tính trung bình cộng các số lẻ ở vị trí chẵn.
- Tìm số lớn nhất trong mảng vừa nhập.
- Tìm vị trí các số nhỏ nhất trong mảng.
- Đếm các số chính phương có trong mảng.
- Hiển thị các số nguyên tố có trong mảng lên màn hình.
- Thay thế các phần tử âm trong mảng bằng giá trị 0.
- Xóa các phần tử âm trong mảng.
- Sắp xếp mảng đã nhập theo thứ tự tăng dần.
Với bài tập mảng 1 chiều này, chú ý khi chạy code:
- Để chạy câu 6, hãy comment câu 7 và ngược lại.
- Bỏ comment như mô tả trong code để xem kết quả thay đổi.
Lời giải
Dưới đây là lời giải cho các bài tập mảng 1 chiều. Mình đã comment giải thích code rõ ràng. Bố cục của code cũng đã được chia theo từng câu hỏi. Bạn có thể sử dụng lời giải này làm tham khảo cho các bài tập tương tự.
#include
#include
Một số bài tập mảng 1 chiều khác
Nhập, xuất mảng 1 chiều
Nhập vào một dãy số nguyên và hiển thị dãy số đó ra màn hình.
#include
#include
main() {
int a[50];
int i,n;
printf("Nhập số phần tử mảng: ");
scanf("%d",&n);
for(i=0;i
Bài tập in ra các số nguyên tố trong mảng
Nhập một dãy số nguyên và hiển thị các số nguyên tố có trong mảng, kèm theo vị trí của các số đó trong mảng.
#include
#include
main() {
int a[50];
int i,n,j,kt;
printf("Nhập số lượng phần tử: ");
scanf("%d",&n);
for(i=0;i
Bài tập sắp xếp mảng, tìm trung bình cộng
Nhập một dãy số nguyên không quá 50 phần tử. In ra màn hình dãy số đã nhập. Đưa ra số lớn nhất trong dãy và vị trí của nó trong dãy. Sắp xếp dãy số theo giá trị các phần tử tăng dần. Tính tổng và trung bình cộng các số có trong dãy.
#include
#include
main() {
int a[50];
int i,n,temp,max,j,s=0;
printf("Nhập vào số phần tử: ");
scanf("%d",&n);
for(i=0;imax) {
max =a[i];
}
}
printf("Số lớn nhất = %d",max);
printf("Vị trí của giá trị lớn nhất trong dãy là:");
for(i=0;ia[j]) {
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
printf("Dãy số sau khi sắp xếp là:");
for(i=0;i
Bài tập chèn phần tử vào mảng
Nhập một dãy n số nguyên (0 n 30) và in ra màn hình dãy số đã nhập. Đưa ra màn hình các số chẵn và vị trí số chẵn đó trong dãy. Sắp xếp dãy số theo giá trị các phần tử giảm dần. Chèn số X vào dãy sao cho sau khi chèn, giá trị các phần tử vẫn giảm dần (X và k nhập từ bàn phím).
#include
#include
main() {
int a[30],i,j, n,temp,v,x;
printf("Nhập vào số phần tử: ");
scanf("%d", &n);
for(i=0;i=k;i--) {
a[i+1]=a[i];
}
a[k]=x;
printf("Dãy số sau khi chèn là:");
for(i=0;i
Bài tập tính tổng số dương, xóa các số âm
Nhập một dãy số thực không quá 50 phần tử và đưa ra màn hình tổng các số dương trong dãy. Xóa tất cả các số âm trong dãy.
#include
#include
main() {
int i, j, n,a[50],s=0;
printf("Nhap vào số phần tử: ");
scanf("%d", &n);
for(i=0;i0) {
s=s+a[i];
}
}
printf("Tổng các số dương trong dãy là: %d",s );
// xóa tất cả các số âm trong dãy
for(i=0;i
Bài tập tổng hợp
Nhập một dãy số nguyên không quá 50 phần tử, sau đó đưa ra màn hình trung bình cộng các số chia hết cho 3 trong dãy. Chèn số X vào vị trí thứ k trong dãy (X và k nhập từ bàn phím).
#include
#include
main() {
int a[50];
int i,n,t=0,k,x,d=0;
printf("Nhập vào số phần tử: ");
scanf("%d", &n);
for(i=0;i=k;i--) {
a[i+1]=a[i];
}
a[k]=x;
printf("Dãy số sau khi chèn là:");
for(i=0;i
Kết luận
Như vậy, bài viết này đã hướng dẫn và cung cấp lời giải cho đề thi nhập môn tin học Đại học Điện Lực. Mình hi vọng rằng bạn có thể chuyển source code này thành các hàm để tối ưu và rút gọn số dòng code. Hãy coi đây như một bài tập thú vị dành cho bạn.
Chúc bạn học tốt!