input: c > 0 (vd: c = 0.0001) và số thực x
output:
sin x = x/1! - x^3/3! + x^5/5! - …+ (-1)^n * [ x^( 2n+1 ) ] / (2n+1)!
với điều kiện: abs([ x^( 2n+1 ) ] / (2n+1)!) <= c
#include <iostream>
#include <math.h>
using namespace std;
int tinhsinx()
{
int n,j,gt=1,a;
double kt,x,c,sinx = 0;
cout << "c = "; cin >> c;
cout << "x = "; cin >> x;
for (n=0;kt<=c;n++)
{
if (n==0) {gt = 1;}
else
{
a=gt;
for(j=n;j<=(2*n+1);j++)
{
a=a*j;
}
}
kt = abs(pow(x,(2*n+1))/a);
if (n%2==0) {sinx = sinx + (pow (x,(2*n+1))/a);}
else {sinx = sinx - (pow (x,(2*n+1))/a);}
}
cout << "sin x = " << sinx << endl;
}
int main()
{
tinhsinx ();
return 0;
}
trong code mình thấy sai ở phần tính giai thừa, mọi người coi còn sai chỗ nào nữa không? chỉ mình sửa lại với. cảm ơn nhiều.
mới học nên thấy còn lạ quá … 


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?