01/10/2018, 17:26
Code tính lãi kép khi nhập giá trị nhỏ thì chạy bình thường mà nhập giá trị lớn thì không ra kết quả
#include <stdio.h>
#define x 0.1
float laikep(float y,int n)
{
if(n==0)
return y;
return laikep(y,n-1)*(1+x);
}
int main()
{
float y;
int n;
printf("Nhap so tien muon gui:");
scanf("%f",&y);
printf("Ban muon gui bao nhieu nam :");
scanf("%d",&n);
printf("Tien lai la : %f
",laikep(y,n));
return 0;
}
Bài liên quan
Nếu muốn làm việc với số lớn thì bạn phải dùng kiểu dữ liệu của số lớn và phương thức nhập tương ứng.
Bạn chỉ rõ hơn được k. Mình mới học C nên k rõ lắm
Dùng
double
thay chofloat
vìfloat
chỉ đúng 8 chữ số thập phân,double
khoảng 21.Còn muốn tính chằn chặn luôn thì tự viết, coi như bài tập