01/10/2018, 11:49

Viết chương trình tính 1+1/2! +1/3!+.. + 1/n kết quả cứ ra 0.0

Mọi người giúp em với em thử nhiều cách mà nó vẫn ra kết quả 0.0 ạ

int a;
double giaithua(int);
double tinh(int);
int main()
{
	printf("Nhap mot so:"); scanf_s("%i", &a);
	tinh(a);
	printf("Ket qua la: %.5lf", tinh);
	_getch();
}
double tinh(int m)
	{
	int i;
	double sum = 0.0;
	for (i = 1; i <= m; i++)
		{
		sum += giaithua(i);
		}
	return sum;
	}
double giaithua(int n)
	{
	double j;
	double tich = 1.0;
	for (j = 1; j <= n; j++) tich *=j;
	return tich;
	}
Nguyễn Đình Trí viết 14:02 ngày 01/10/2018

Đoạn:
tinh(a);
printf(“Ket qua la: %.5lf”, tinh);
bạn thay bằng:
printf(“Ket qua la: %.5lf”, tinh(a));
rồi thử lại xem.
Hàm của bạn là hàm có return là double, không phải là hàm void, cũng không có biến & (theo mình nhớ thì gọi là biến tham số hay j đó). Việc bạn thực hiện một lệnh đơn lẻ lệnh tinh(a); không có tác dụng gì cả.

Thuan Thanh Tran viết 14:05 ngày 01/10/2018

em cảm ơn ạ. em đã làm được

Bài liên quan
0