[ create a new paste ] login | about

Link: http://codepad.org/7dVntdVE    [ raw code | output | fork ]

C, pasted on May 5:
/* Bài 74/11/SBT Thầy NTTMK:Tính S(x,n)=-x+(x^3)/(3!)-(x^5)/(5!)+...+(-1^(n+1))*((x^(2n+1))/((2n+1)!)) . 205.cpp */
/* 

Tác giả: Nguyễn Việt Nam Sơn
Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com

Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé.
Mong giúp đỡ được Bạn trên con đường Học Lập Trình.
TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN

*/
#include<stdio.h>
#include<conio.h>
#include<math.h> //ở đây ta có thể dùng thư viện là #include<cmath> cũng như nhau (chỉ có đối với C++).

double giaithua(double n)
{
	if(n==0||n==1)	return 1;
	return n*giaithua(n-1);
}
void xulydulieu(float &x,int &n)
{
	float s=0;
	double pow(double y,double z); // dòng này phải khai báo hàm mũ (pow) để sử dụng ở dưới,điều này là bắt buộc đối với C++ còn C chuẩn thì không cần.
	printf("Nhap vao x=");
	scanf("%f",&x);
	do{
	printf("\nNhap vao n(n>=0):n=");
	scanf("%d",&n);
	if(n<0)
		printf("So ban nhap vao khong hop le!Xin vui long nhap lai!\n");
	else
		break;
	}while(n<0);
	for(int i=0;i<=n;i++)
	{
		s+=pow(-1,i+1)*(pow(x,2*i+1)/giaithua(2*i+1)); // ở đây s đang ở kiểu số thực và pow cũng đang ở kiểu số thực nên kết quả luôn đúng,nếu s ở số thực mà vế sau nó ở dạng số nguyên thì ta phải nhân thêm 1.0 vào mới đúng được.
	}
	printf("\nKet qua la:%f",s);
}

void main()
{
	int n,tieptuc;
	float x;
	quaylai:xulydulieu(x,n);
	printf("\nBan co muon tiep tuc chay chuong trinh khong ? Neu co bam phim C,nguoc lai bam bat ky 1 phim nao khac de ket thuc\n");
	tieptuc=getch();
	if(tieptuc=='c'||tieptuc=='C')
		goto quaylai;
}


Output:
1
2
3
4
Line 17: error: conio.h: No such file or directory
Line 21: error: expected ';', ',' or ')' before '&' token
In function 'main':
Line 43: warning: return type of 'main' is not 'int'


Create a new paste based on this one


Comments: