Thực hành: Gọi hàm tính giai thừa

Thực hành: Gọi hàm tính giai thừa

Yêu cầu:
1. Nhập vào số n từ bàn phím.
2. Thực hiện tính giai thừa của n và in ra kết quả.
3. Chuyển phần tính giai thừa thành hàm exp
4. Gọi hàm và in ra kết quả




Duration: 20


1.3      THỰC HÀNH BƯỚC 1

Mở Code Blocks → New File → Empty file --> Lưu file TinhGiaiThua đuôi .cpp

1.4      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.5      THỰC HÀNH BƯỚC 3

Khai báo biến và mảng sử dụng trong chương trình
int n = 1;
int ketqua = 1;

1.6      THỰC HÀNH BƯỚC 4

Để tính giai thừa của một số n; Thực hiện vòng for chạy từ 1 tới giá trị n.
Rồi lần lượt đem kết quả với biến i đó
for (int i = 0; i<n; i++)
   {
      ketqua = ketqua*i;
   }

1.7      THỰC HÀNH BƯỚC 5

In kết quả
printf("Giai thua cua=%d la %d\n",n,ketqua);
1.8      CHẠY THỬ
Toàn bộ code như sau:
main(){
   int n = 1;
   int ketqua = 1;
   printf("Nhap so gia tri cua n:");
   //Nhap vao tu ban phim
   scanf("%d",&n);
   for (int i = 1; i<=n; i++)
   {
      ketqua = ketqua*i;
   }
   //In ketqua
   printf("Giai thua cua=%d la %d\n",n,ketqua);
}
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 đó, exp là tên hàm; tham số truyền vào là x;
Kết quả trả ra giá trị giai thừa của x
int exp(int x);

Code của hàm

int exp(int x)
{ int ketqua = 1; for (int i = 1; i<=x; i++) { ketqua = ketqua*i; } return ketqua; }

Code mới của hàm Main

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(); }


Code toàn bộ của chương trình là

#include <stdio.h> #include <conio.h> int exp(int x); 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(); } int exp(int x) { int ketqua = 1; for (int i = 1; i<=x; i++) { ketqua = ketqua*i; } return ketqua; }






No comments:

Powered by Blogger.