当前位置:首页 » 编程语言 » c语言解高次方程
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言解高次方程

发布时间: 2023-08-10 07:15:25

㈠ 用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>

doubleValue(doublex,doublea,doubleb,doublec){
returna*x*x+b*x+c;
}

intmain(){
doublex1,y1,x2,y2;
doublea,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("二抛物线无交点。 ");
return0;
}
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) ",x1,y1,x2,y2);
return0;
}

㈡ 如何用C语言程序解方程

上课时编的,测试过可用。/* Note:Your choice is C IDE */
#include "stdio.h"
#include <math.h>
void main()
{
int a,b,c,d,e;
e=1;
while (e)
{printf("求一个一元二次方程的根");
printf("ax^2+bx+c=0\n");
printf("请输入a=");
scanf("%d",&a);
if(a==0)
{
break;
}printf("请输入b=");
scanf("%d",&b);
printf("请输入c=");
scanf("%d",&c);
d=b*b-4*a*c;
if(d<0)
{
printf("无实数解\n");
}
else if(d==0)
{
printf("只有一个根为:%f\n",-b/(2.0*a));
}
else
{printf("有两个根为:%f%f\n",(-b+sqrt(e))/(2.0*a),(-b-sqrt(e))/(2.0*a));
}}
}

㈢ 怎样用C语言编一个解一元二次方程的程序(可以看步骤)!

#include <stdio.h>
#include <math.h>
int main(void)
{
int a, b, c; //定义一元二次方程的三个数值;
printf("请依次输入一元二次方程的三个参数a b c,中间以空格隔开\n");
scanf("%d %d %d", &a, &b, &c); //依次输入一元二次方程的三个参数
double delta = b*b - 4*a*c; //定义delta的值为b*b - 4*a*c
double x1 = (-b + sqrt(delta))/(2 * a);
double x2 = (-b - sqrt(delta))/(2 * a);

if (delta>0) //delta大于0时,方程有两个解
{
printf("一元二次方程有两个解\n");
printf("一元二次方程的第一个解,x1 = %f\n",x1);
printf("一元二次方程的第二个解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等于0,方程有两个相同的解
{
printf("一元二次方程有两个相同的解\n");
printf("一元二次方程的解为x1 = x2 =%f\n",x1);
}
else //delta小于0时,方程没有解
{
printf("一元二次方程没有解\n");
}

return 0;
}

㈣ 怎么利用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;
}