Thực hành: Gọi hàm tìm giá trị lớn nhất của mảng
Yêu cầu:
1. Nhập vào số n từ bàn phím.
2. Nhập từng phần tử trong mảng
3. Tính số lớn nhất của mảng
4. Chuyển phần tính giá trị lớn nhất của mảng thành hàm Max
5. Gọi hàm và in ra kết quả
Duration: 20
1.1 THỰC HÀNH BƯỚC 1
Mở Code Blocks → New File → Empty file --> Lưu file HamTimMaxCuaMang có đuôi .cpp
1.2 THỰC HÀNH BƯỚC 2
Khai báo sử dụng các thư viện
#include <conio.h>
#include <stdio.h>
|
1.3 THỰC HÀNH BƯỚC 3
Khai báo biến và mảng sử dụng trong chương trình
int ds[10];
int n;
int solonnhat=-9999999;
//Nhap du lieu vao mang
//Hien thong bao moi nguoi dung nhap
printf("Nhap so luong phan tu:");
//Nhap vao tu ban phim
scanf("%d",&n);
//In n ra
printf("n=%d\n",n);
//Nhap cac phan tu trong mang
for (int i = 0; i<n; i++)
{
//In ra loi huong dan nhap phan tu thu may
printf("Nhap phan tu thu [%d]:",i+1);
scanf("%d",&ds[i]);
}
|
1.4 THỰC HÀNH BƯỚC 4
Để tìm max của các phần tử trong mảng
Thực hiện vòng for chạy từ 1 tới giá trị n.
Kiểm tra nếu gặp số lớn hơn thì gán lại
printf("Max trong mang:\n");
solonnhat = ds[0];
for (int i = 0;i<n;i++)
{
if (ds[i]>solonnhat)
{
solonnhat = ds[i];
}
}
|
1.5 THỰC HÀNH BƯỚC 5
In kết quả
//In ra danh sach
printf("Danh sach da nhap la:");
for (int i = 0;i<n;i++)
{
printf("ds[%d]=%d\n",i,ds[i]);
}
printf("Gia tri lon nhat [%d] \n", solonnhat);
|
1.6 CHẠY THỬ
Toàn bộ code như sau:
#include <stdio.h>
#include <conio.h>
int main()
{
int ds[10];
int n;
int solonnhat=-9999999;
//Hien thong bao moi nguoi dung nhap
printf("Nhap so luong phan tu:");
//Nhap vao tu ban phim
scanf("%d",&n);
//In n ra
printf("n=%d\n",n);
//Nhap cac phan tu trong mang
for (int i = 0; i<n; i++)
{
//In ra loi huong dan nhap phan tu thu may
printf("Nhap phan tu thu [%d]:",i+1);
scanf("%d",&ds[i]);
}
printf("Max trong mang:\n");
solonnhat = ds[0];
for (int i = 0;i<n;i++)
{
if (ds[i]>solonnhat)
{
solonnhat = ds[i];
}
}
//In ra danh sach
printf("Danh sach da nhap la:");
for (int i = 0;i<n;i++)
{
printf("ds[%d]=%d\n",i,ds[i]);
}
printf("Gia tri lon nhat [%d] \n", solonnhat);
getch();
}
|
Giao diện màn hình chạy thử
*** II. Chuyển thành hàm
II.1 Khuôn mẫu hàm
Khai báo 1 hàm có khuôn mẫu sau: Trong đó, timMax là tên hàm; tham số truyền vào là n số lượng phần tử trong mảng và danh sách ds gồm n phần tử;
Kết quả trả ra giá trị lớn nhất của mảng
int timMax(int ds[], int n);
|
II.2 Code của hàm
int timMax(int ds[], int n)
{
int solonnhat = ds[0];
for (int i = 0;i<n;i++)
{
if (ds[i]>solonnhat)
{
solonnhat = ds[i];
}
}
return solonnhat;
}
|
II.3 Code mới của hàm Main
#include <stdio.h>
#include <conio.h>
int timMax(int ds[], int n);
int main()
{
int ds[10];
int n;
int solonnhat=-9999999;
//Hien thong bao moi nguoi dung nhap
printf("Nhap so luong phan tu:");
//Nhap vao tu ban phim
scanf("%d",&n);
//In n ra
printf("n=%d\n",n);
//Nhap cac phan tu trong mang
for (int i = 0; i<n; i++)
{
//In ra loi huong dan nhap phan tu thu may
printf("Nhap phan tu thu [%d]:",i+1);
scanf("%d",&ds[i]);
}
printf("Max trong mang:\n");
//goi ham
solonnhat = timMax(ds,n);
//In ra danh sach
printf("Danh sach da nhap la:");
for (int i = 0;i<n;i++)
{
printf("ds[%d]=%d\n",i,ds[i]);
}
printf("Gia tri lon nhat [%d] \n", solonnhat);
getch();
}
int timMax(int ds[], int n)
{
int solonnhat = ds[0];
for (int i = 0;i<n;i++)
{
if (ds[i]>solonnhat)
{
solonnhat = ds[i];
}
}
return solonnhat;
}
|
II.4 Code toàn bộ của chương trình là
#include <stdio.h>
#include <conio.h>
int exp(int x)
{
int ketqua = 1;
for (int i = 0; i<x; i++)
{
ketqua = ketqua*i;
}
return ketqua;
}
main(){
int n = 1;
int ketqua = 1;
printf("Nhap so gia tri cua n:");
//Nhap vao tu ban phim
scanf("%d",&n);
ketqua = exp(n);
//In ketqua
printf("Giai thua cua=%d la %d\n",n,ketqua);
getch();
}
|
No comments: