⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lagrange.c

📁 Many C samples. It is a good sample for students to learn C language.
💻 C
字号:
/*Noi suy LAGRANGE*/
#include <stdio.h>
#include <conio.h>


void main()
{
	int i , j , k , k1 , n , m;
	float   s1 , s , h ;
	char sua ;
	float  x[52] , x0[52] , y0[52];
	float y1[1000] , x1[1000] ;

	clrscr();
	printf("PHUONG PHAP NOI SUY \n");
	printf("SO MAU QUAN SAT n = ");
	scanf("%d",&n);
	fflush(stdin) ;
	printf("DOC CAC DIEM QUAN SAT X[i]  (i = 0,n)\n");
	for ( i = 0 ; i <= n ; i++ ) scanf("%f" , &x0[i]);
	printf("DOC CAC KET QUA QUAN SAT Y[i]  (i = 0,n)\n");
	for ( i = 0 ; i <= n ; i++ ) scanf("%f" , &y0[i]);
	printf("TINH MAU SO CUA Rk(x) = x[k] (k = 0,n)\n");
	for ( k = 0 ; k <= n ; k++ )
	{
		s1 = 1 ;
		for ( i = 0 ; i <= n ; i++ )
			if ( i!= k ) 	s1 *= x0[k] - x0[i] ;
		x[k] = s1 ;
	}
	printf("\n");
	printf("SO DIEM CAN TINH m = ");
	scanf("%d" , &m);
	printf("KHOANG CHIA DEU KHONG ? (y/n)\n");
	fflush(stdin);
	scanf("%c" , &sua );
	if ( toupper(sua) == 'N' )
	{
		printf("DOC %d DIEM CAN TINH \n " , m);
		for ( i = 0 ; i < m ; i++ ) scanf("%f" , &x1[i]);
	}
	if ( toupper(sua) == 'Y' )
	{
		h = (x0[n] - x0[0])/(1.0*m) ;
		x1[0] = x0[0] + h ;
		for ( i = 1 ; i < m ; i++ )  x1[i] = x1[i-1] + h ;
	}
	printf("TINH y1[k1] = Pn(x1[k1] \n");
	for ( k1 = 0 ; k1 < m ; k1++ )
	{
		s = 0 ;
		for ( k = 0 ; k <= n ; k++ )
		{
			s1 = 1 ;
			for ( i = 0 ; i <= n ; i++ )
				if (i != k) s1 *= x1[k1] - x0[i] ;
			s += y0[k]*s1/x[k] ;
		}
		y1[k1] = s ;
	}
	printf("CAC MAU QUAN SAT \n");
	printf("X0 =");
	for ( i = 0 ; i <= n ; i++ ) 	printf("  %f" , x0[i]);
	printf("\n");
	printf("Y0 =");
	for ( i = 0 ; i <= n ; i++ ) 	printf("  %f" , y0[i]);
	printf("\n");
	getch();
	printf("KET QUA NOI SUY CHO %d DIEM CAN TINH \n" , m);
	printf("        X[i]                P(X[i])\n");
	printf("\n");
	for ( i = 0 ; i < m ; i++ )
		printf("x[i] =%8.4f       P(x[i]) =%8.4f\n" , x1[i] , y1[i]);
	getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -