本文目录一览:
c语言 方程组的解数
#includestdio.h
int fun(int m,int n)
{
int a=0;
int i,j;
for(i=0;imn?m:n;i++)
{
for(j=0;jmn?m:n;j++)
{
if(i*i+j==ni+j*j==m)
a++;
}
}
return a;
}
int main()
{
int m,n,x;
FILE *fp;
fp=fopen("......","r"); //......表示文件路径
while(!feof(fp))
{
fscanf("%d",m);
fscanf("%d",n);
x=fun(m,n);
printf("%d",x); //没有输出到文件,只是在屏幕上输出。
}
fclose(fp);
return 0;
}
如何用C语言解二元一次方程组
设计思路如下:
1、问题描述:
给定一个二元一次方程组,形如:
a * x + b * y = c;
d * x + e * y = f;
x,y代表未知数,a, b, c, d, e, f为参数。
求解x,y。
2、数据规模和约定:
0 = a, b, c, d, e, f = 2147483647。
3、设计思路:
二元一次方程组是由两个含有两个未知数的方程组成的,要求解,就要把二元转化为一元。由二元一次方程组的解法思想知,要把二元转化为一元.
实现的功能代码如下:
扩展资料:
C语言解求二元一次方程:(顺序消元法)
“消元”是解二元一次方程的基本思路。所谓“消元”就是减少未知数的个数,使多元方程最终转化为一元方程再解出未知数。这种将方程组中的未知数个数由多化少,逐一解决的想法,叫做消元思想。
实现代码如下:
因为在求解过程中只有数之间的运算,而没有整个式子的运算,因此这种方法被广泛地用于计算机中。
用c语言解方程组
/*
1 -2 1 -1 -2 4
交点坐标为(1.22,0.05),(-1.22,4.95)
Press any key to continue
*/
#include stdio.h
#include math.h
double Value(double x,double a,double b,double c) {
return a * x * x + b * x + c;
}
int main() {
double x1,y1,x2,y2;
double a,b,c,d,e,f,delta;
scanf("%lf%lf%lf%lf%lf%lf",a,b,c,d,e,f);
delta = (b - e)*(b - e) - 4 * (a - d) * (c - f);
if(delta 0) {
printf("二抛物线无交点。\n");
return 0;
}
x1 = (-(b - e) + sqrt(delta))/(2.0 * (a - d));
x2 = (-(b - e) - sqrt(delta))/(2.0 * (a - d));
y1 = Value(x1,a,b,c);
y2 = Value(x2,a,b,c);
printf("交点坐标为(%.2lf,%.2lf),(%.2lf,%.2lf)\n",x1,y1,x2,y2);
return 0;
}
三元一次方程组 公式 c语言
不知你那公式怎么来的,建议采用线性代数的克莱姆方法来解:
为方便和完善期间,增加一个变量H,把x=,y=,z=那三行和后面那一行
替换为:
H=a*(B*g-C*f)-A*(b*g-c*f)+e*(b*C-c*B);
if(H==0) printf("次方程组无解!");
else
{x=(d*(B*g-C*f)-D*(b*g-c*f)+h*(b*C-c*B))/H;
y=(d*(A*g-C*e)-D*(a*g-c*e)+h*(a*C-c*A))/H;
z=(d*(A*f-B*e)-D*(a*f-b*e)+h*(a*B-b*A))/H;
printf("%lf\n%lf\n%lf",x,y,z);}
试验一下,不行再问。其实你的变量设置不大好,为了尽量保持原貌,未做改动。
C语言计算这个方程组,怎么写
#include
stdio.h
int
main
()
{
double
a1,a2,a3;
double
b1,b2,b3;
char
cx1,cx2;
char
cy1,cy2;
char
dh;
double
sumx,sumy;
printf("请输入一个表达式:");
scanf("%lf%c%lf%c%c%lf",a1,cx1,a2,cy1,dh,a3);
printf("请输入另一个表达式:");
scanf("%lf%c%lf%c%c%lf",b1,cx2,b2,cy2,dh,b3);
printf("a1=%lf\na2=%lf\na3=%lf\nb1=%lf\nb2=%lf\nb3=%lf\n",a1,a2,a3,b1,b2,b3);
sumy=(b3*a1-a3*b1)/(a1*b2-a2*b1);
printf("y=%lf\n",sumy);
sumx=(a3-a2*sumy)/a1;
printf("x=%lf\n",sumx);
return
0;
}
/*
系数为1时,要写上
请输入一个表达式:1x-1y=22.5
请输入另一个表达式:10x-1y=0
a1=1.000000
a2=-1.000000
a3=22.500000
b1=10.000000
b2=-1.000000
b3=0.000000
y=-25.000000
x=-2.500000
*/