01/10/2018, 11:34

Viết chương trình tính sin 1 góc

Em chào mấy anh chị ạ,
Em vừa bắt đầu học lập trình C++ và em có bài tập viết chương trình tính sin 1 góc. Em viết như thế này:

#include <iostream>
#include<math.h>
using namespace std;

int main()
{
	const float Pi = 3.14159;
	float a, b, c;
	cout << "Please enter the angle: ";
	cin >> a;

	b = (a * Pi) / 180;
	c = sin(b);
	cout << "Sine of a is: " << c << endl;

	system("pause");
	return 0;
}

Lúc em debug thì nó không báo lỗi nhưng khi em thử nhập vào 180 thì sin nó ko ra bằng 0 mà lại ra như thế này: “2.53518e-06”. Em thắc mắc không biết dãy số đó là gì, và sao nó lại ko ra hẳn 0, liệu có cách nào sửa lại ko ạ?
Mong mọi người giúp em! Em cảm ơn trước ạ.

Tao Không Ngu. viết 13:43 ngày 01/10/2018

Hi Huỳnh Vy.
Thử đặt Pi = 3.141592653589793238462643383279502884197169399375105820974944592307816406286

rogp10 viết 13:46 ngày 01/10/2018

sinf() mới đúng lấy 3.14159265f là ngon.

Vuio viết 13:37 ngày 01/10/2018

2.53518E-06 là 2.53518 x 10^-6=0,00000253518 gần bằng 0 rồi.
Do Pi lấy chưa chính xác nên sin không thể bằng 0 được

Huỳnh Vy viết 13:41 ngày 01/10/2018

oh dạ em cảm ơn anh ạ

Huỳnh Vy viết 13:43 ngày 01/10/2018

oh giờ em mới hiểu E-06 là 10^-6. Em cảm ơn nhiều ạ

Bài liên quan
0