#include"stdio.h"
void main()
{
double sqrt(double x);
double a[3][3]={{3,3,5},{3,5,9},{5,9,17}};
double b[3][3],c[3][3];
int i,j;
printf("array a:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("% 5f",a[i][j]);
}
printf("\n");
}
printf("array b:\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i b[i][j]=0; } } b[0][0]=sqrt(a[0][0]); b[1][0]=a[1][0]/b[0][0]; b[1][1]=sqrt(a[1][1]-b[1][0]*b[1][0]); b[2][0]=a[2][0]/b[0][0]; b[2][1]=(a[2][1]-b[1][0]*b[2][0]); b[2][2]=sqrt(a[2][2]-(b[2][0]*b[2][0]+b[2][0]*b[2][0])); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("% 5f",b[i][j]); c[j][i]=b[i][j]; } printf("\n"); } printf("array c:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("% 5f",c[i][j]); } printf("\n"); } printf("cholesky分解矩阵a=bc\n"); }