Tham khảo:
a) Gợi ý
Bước 1: Ta khai báo một mảng tĩnh số nguyên có 100 ô nhớ int a[100].
Bước 2: Ta khai báo số nguyên int n là số lượng phần tử có trong mảng với điều kiện n>1 hoặc n<100 nếu không thỏa mãn thì yêu cầu nhập lại n.
Bước 3: Ta khỏi tạo hàm void Nhap(int a[], int n) dùng để nhập dữ liệu từ bàn phím cho mảng. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i
Bước 4: Ta khởi tạo hàm void Xuat(int a[], int n) dùng để hiển thị dữ liệu từ mảng ra màn hình. Trong hàm ta sử dụng vòng for bắt đầu từ int i =0 và kết thúc khi i
Bước 5: Ta khởi tạo hàm int TimKiem(int a[], int n) dùng để tìm kiếm phần tử; ta khai báo biến int x là số cần tìm và nhập vào giá trị của x; tiếp theo sử dụng vòng lặp for bắt đầu từ int i =0 và kết thúc khi i
Bước 6: Trong hàm main ta gọi hàm Nhap(a,n), Xuat(a,n) để hiển thị mảng gốc ta gọi thêm hàm TimKiem(a,n) rồi chạy chương trình.
b) Sắp xếp một dãy số giảm dần
#include
int main(){
int a[100];
int n;
printf("\nNhap so luong phan tu n = ");
do{
scanf("%d", &n);
if(n <= 0){
printf("\nNhap lai n = ");
}
}while(n <= 0);
for(int i = 0; i < n; i++){
printf("\nNhap a[%d] = ",i);
scanf("%d", &a[i]);
}
// Sap xep dung thuat toan sap xep chon
int tg;
for(int i = 0; i < n - 1; i++){
for(int j = i + 1; j < n; j++){
if(a[i] < a[j]){
// Hoan vi 2 so a[i] va a[j]
tg = a[i];
a[i] = a[j];
a[j] = tg;
}
}
}
printf("\nMang da sap xep la: ");
for(int i = 0; i < n; i++){
printf("%5d", a[i]);
}
}