当前位置:首页 » 编程语言 » c语言方程的解

c语言方程的解

发布时间: 2022-12-18 01:09:48

‘壹’ c语言解方程

我的编译正常呀,你的是什么编译器呀?
我给你编写个吧??呵呵
好象找到问题了 scanf("%f%f%f",&a,&b,&c);应改为scanf("%lf%lf%lf",&a,&b,&c);%f对应的是float;%lf对应的才是double

printf("x1=%.2f,x2=%.2f\n",x1,x2);这个也一样要改下

我编写的编译过的正常的哦给你了
#include<stdio.h>
#include<math.h>
main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(0==a&&0>b*b-4*a*c)
puts("没有实数根");
if(b*b-4*a*c>0)
{
puts("有两个不相等的实数根");
printf("x1=%lf,X2=%lf",(-b+sqrt(b*b-4*a*c))/2*a,(-b-sqrt(b*b-

4*a*c))/2*a);
}
if(0==b*b-4*a*c)
{
puts("有两个相等的实数根");
printf("x1=x2=%lf",(-b+sqrt(b*b-4*a*c))/2*a);
}
getch();
}

‘贰’ 如何用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语言解方程

#include"math.h"
typedefstruct{
double*coef;
intn;
}poly;
doubledfx(poly*p,doublev){
doublet=v;
doubler=0;
double*coef=p->coef;
inti;
r+=coef[1];
for(i=2;i<p->n;i++){
r+=coef[i]*i*t;
t*=v;
}
returnr;
}
doublefx(poly*p,doublev){
doublet=v;
doubler=0;
double*coef=p->coef;
inti;
r+=coef[0];
for(i=1;i<p->n;i++){
r+=coef[i]*t;
t*=v;
}
returnr;
}
doublepolyroot(poly*p,doublex0){
doublex=x0-1;
intn=0;
while(fabs(x-x0)>1e-12&&n++<100){
doubledx0=dfx(p,x0);
x=x0;
if(dx0)
x0-=fx(p,x0)/dx0;
else
x0-=0.1;
printf("inter:%df(%lf)=%lf ",n,x0,fx(p,x0));
}
returnx0;
}


intmain()
{
doublec[4]={-6,3,-4,2};
polyd={c,4};
polyroot(&d,1.5);
return0;
}

‘肆’ c语言怎么解方程

基本思路就是迭代 一个变量在你的定义域内以一定的小间隔进行连续取值
如果方程左边和右边的值之间的差距接近于0 (根据你的精度要求具体选定判断条件)
比如:
|方程左边- 方程右边|<0.00001
你就认为此时的自变量取值为一个解

还有的办法就是数学办法了 比如二元一次方程直接就有公式的 套进去进行了

‘伍’ 如何用C语言程序解方程

#include"stdio.h"
#include"math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{
floata,b,c,x1,x2,d;
printf("请输入a:");
scanf("%f",&a);
printf("请输入b:");
scanf("%f",&b);
printf("请输入c:");
scanf("%f",&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数解。 ");
if(d==0)
{
x1=(-b)/(2*a);
printf("x1=%f ",x1);
}
if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);}
}
请输入a:12
请输入b:34
请输入c:4
x1=-0.122985,x2=-2.710348
Pressanykeytocontinue

‘陆’ c语言求 方程的解

#include<stdio.h>
#include<math.h>
return main() //return? main的返回值没有return类型,可以使用void
{
double a,b,c,d,e,x1,x2;
printf("input the value of a , b, c ");
scanf("%lf,%lf,%lf",&a,&b,&c);
double d=b*b-4*a*c; //上面已经double b了,重复定义,去掉double.
return (a,b,c); //这个什么意思?return 不能乱用的。删掉吧
if (d<0) printf("此方程无解");
else double e=sqrt(d); //仍然是重复定义,最上面已经double e了,去掉double
double x1=(-b+e)/(2*a); //去掉double
double x2=(b+e)/(2*a); //去掉double
printf("方程的俩解为: %f,%f\n",x1,x2);
}
另外,else有3个语句,请用花括号括起来

‘柒’ 怎样用c语言求方程的解

#include <stdio.h>
int main()
{
int a,b,i,j;
for(i=0;i<10000;i++)
{
for(j=0;j<10000;j++)
{
if((66*i+127*j)==3967)
{

printf("x=%d\n",i);
b=j;

}
}
}
a=(1200-b)/25;
printf("a=%d\nb=%d\n",a,b);

return 0;
}
运行结果:
x=12
a=47
b=25
根据你的消息修改如下:
66*a+127*b=3967
25*a+b=1200

41*a+126b=2767

程序可以改为:
int main(int argc, char* argv[])
{
int i,j;
for(i=-10000;i<10000;i++)
{
for(j=-10000;j<10000;j++)
{
if((41*i+126*j)==2767)
printf("当a=%d,b=%d时,66*a+127*b=3967和25*a+b==1200两式成立\n",i,j);

}
}

return 0;
}
无数解:
a>0时b<0
反之a<0时b>0
请明确a,b取值范围;
以上也只是列举整数解;

‘捌’ C语言,求一元二次方程的解

对于如下的一元二次方程:

ax*x+bx+c=0

设计C语言程序,输入一元二次方程的三个系数a、b、c,求解出该方程的两个根,并且允许用户在程序中多次输入不同的系数,以求解不同的一元二次方程的解。

编程思路分析:

对于该方程,令delta=b^2-4*a*c,从数学的角度来讲,我们需要根据delta的值来判断该方程的根情况:

当delta>=0时,其两个根为实数解,分别为(-b+sqrt(delta))/(2*a)和(-b-sqrt(delta))/(2*a);

当delta<0时,其两个根为复数解,实部皆为-b/(2*a),虚部分别为sqrt(-delta)/(2*a)和-sqrt(-delta)/(2*a)。

其中,sqrt(delta)代表对delta作开根号运算。

在代码设计中,可定义一个结构体Complex存储该方程的根,在该结构体中包括实部和虚部两个变
在程序中,定义两个Complex类型的根x1和x2,当delta>=0时,两个根的虚部为0,否则,分别求解两个根的虚部值。
具体编程如下:

#include"stdio.h"
#include"math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{floata,b,c,x1,x2,d;
printf("请输入a:");
scanf("%f",&a);
printf("请输入b:");
scanf("%f",&b);
printf("请输入c:");
scanf("%f",&c);
d=b*b-4*a*c;if(d<0)
printf("方程没有实数解。 ");
if(d==0){x1=(-b)/(2*a);
printf("x1=%f ",x1);}
if(d>0){x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);}}
请输入a:12
请输入b:34
请输入c:4
x1=-0.122985,x2=-2.710348
Pressanykeytocontinue

为迭代序列。

‘玖’ c语言求一元二次方程的解

c语言一元二次方程编程是#include<iostream> 。#include<cmath>。usingnamespacestd。intmain()。{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。

形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接开平方的方法解一元二次方程.如果方程化成x²=p的形式,那么可得x=±p;(x²=p,x=±根号p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。

简洁的语言:

C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。

实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。



‘拾’ C语言 写一个解方程的程序

#include
<stdio.h>
#include
<math.h>

double
x1,x2,p;
float
file1(float
a,float
b)
{

x1=(-b+sqrt(p))/2*a;

x2=(-b-sqrt(p))/2*a;

return
0;
}
float
file2(float
a,float
b)
{

x1=x2=(-b+sqrt(p))/2*a;

return
0;
}
void
main()
{

float
a,b,c;

printf("请依次输入方程的三个系数:\n");

scanf("%f%f%f",&a,&b,&c);

p=b*b-4*a*c;

printf("方程是:%.1f*x*x
+
%.1f*x
+
%.1f
=
0\n",a,b,c);

if(p>0)

{

file1(a,b);

printf("X1=%f\tX2=%f\n",x1,x2);

}

else
if(p==0)

{

file2(a,b);

printf("X1=%f\tX2=%f\n",x1,x2);

}

else
printf("方程无解");
}

热点内容
hypixel手机国际版服务器ip 发布:2025-01-25 09:14:36 浏览:598
荒岛求生安卓怎么下载 发布:2025-01-25 09:09:31 浏览:209
java中io流 发布:2025-01-25 09:02:54 浏览:878
华为高斯数据库 发布:2025-01-25 08:55:38 浏览:31
php是动态语言 发布:2025-01-25 08:45:44 浏览:67
服务器关闭了电脑网络还能用 发布:2025-01-25 08:22:28 浏览:588
热血航线的登录密码在哪里可以看 发布:2025-01-25 08:22:27 浏览:770
5系怎么选择配置 发布:2025-01-25 08:22:18 浏览:843
pythonscipy 发布:2025-01-25 08:18:52 浏览:419
恕瑞玛服务器地址 发布:2025-01-25 08:18:51 浏览:802