当前位置:编程学习 > C/C++ >>

解三元一次方程的c语言程序

如题,谢了!!!!!
答案:#include <stdio.h>#define EPSINON 0.000001void main(){
float a[3][3],detA,detA1,detA2,detA3;float b[3],x,y,z;int i,j;printf("3元一次方程组的格式如下:\n");printf("a[0][0]x+a[0][1]y+a[0][2]z = b[0]\n");printf("a[1][0]x+a[1][1]y+a[1][2]z = b[1]\n");printf("a[2][0]x+a[2][1]y+a[2][2]z = b[2]\n");printf("请依次输入方程系数:\n");
for(i=0; i<3; i++){   for(j=0; j<3; j++)   {    printf("a[%d][%d]=", i, j);    scanf("%f", &a[i][j]);      }}printf("依次输入方式右边参数:\n");for(i=0; i<3; i++){   printf("b[%d]=",i);   scanf("%f",&b[i]);}
detA = a[0][0]*a[1][1]*a[2][2]+a[0][1]*a[1][2]*a[2][0]+   a[0][2]*a[1][0]*a[2][1]-a[0][0]*a[1][2]*a[2][1]-   a[0][1]*a[1][0]*a[2][2]-a[0][2]*a[1][1]*a[2][0];
detA1 = b[0]*a[1][1]*a[2][2]+a[0][1]*a[1][2]*b[2]+   a[0][2]*b[1]*a[2][1]-b[0]*a[1][2]*a[2][1]-   a[0][1]*b[1]*a[2][2]-a[0][2]*a[1][1]*b[2];
detA2 = a[0][0]*b[1]*a[2][2]+b[0]*a[1][2]*a[2][0]+   a[0][2]*a[1][0]*b[2]-a[0][0]*a[1][2]*b[2]-   b[0]*a[1][0]*a[2][2]-a[0][2]*b[1]*a[2][0];
detA3 = a[0][0]*a[1][1]*b[2]+a[0][1]*b[1]*a[2][0]+   b[0]*a[1][0]*a[2][1]-a[0][0]*b[1]*a[2][1]-   a[0][1]*a[1][0]*b[2]-b[0]*a[1][1]*a[2][0];
x = detA1/detA;y = detA2/detA;z = detA3/detA;if ((detA >= -EPSINON) && (detA <= EPSINON)){   printf("方程无唯一解!\n");  }else{   printf("方程组的根为:x=%f,y=%f,z=%f\n", x, y, z);  }}


网上搜的用法是:3x-y+z=3  方程系数依次是输入3-11 方式右边参数是输入3

上一个:简化我的C语言五子棋代码
下一个:求5道C语言程序填空题?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,