当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

C语言怎么求一元二次方程的跟

更新:03-17 整理:39baobao.com
字体:

[c语言编程二分法解方程]这段代码是求解方程f(x)=0在区间[-10,10]上的根的数值解。 方法的思想就是:一直选取区间中间的数值,如果发现中间的函数值与一侧函数值,异号,那么说明解在这个更小的区间中,采用e...+阅读

#include void main( ) { double a,b,c,d; printf("输入一元二次方程a= , b= , c=\n"); scanf("a=%lf, b=%lf, c=%lf",&a,&b,&c); d=b*b-4*a*c; if(a==0){ if(b==0){//应该是b==0 if(c==0) printf("0==0参数对方程无意义!"); else printf("C!=0方程不成立"); } else printf("x=%0.2lf\n",-c/b);//输出用lf } else if(d>=0){ printf("x1=%0.2lf\n",(-b+sqrt(d))/(2*a));//输出用lf printf("x2=%0.2lf\n",(-b-sqrt(d))/(2*a));//输出用lf, } else{ printf("x1=%0.2lf+%0.2lfi\n",-b/(2*a),sqrt(-d)/(2*a));//输出用lf printf("x2=%0.2lf-%0.2lfi\n",-b/(2*a),sqrt(-d)/(2*a));//输出用lf } } %.2f不改%.2lf也没什么大问题,最好改一下。 重点是b=0那个错误。

c语言求一元二次方程

你的输入用错了,还有部分错误,我帮你调整了一下:#include #include int main(){ printf("请输入a,b , c的值!\n"); double a, b, c, x1, x2, q; scanf("%lf%lf%lf", &a , &b, &c);//////////////// q = b*b - 4*a*c;//////////////// if (q >0) { x1 = (-b + sqrt(q)) / 2*a; x2 = (-b - sqrt(q)) / 2*a; printf("x1 = %lf, x2 = %lf\n", x1,x2); } else if (q { printf("无解\n"); } else/////////////////// { x1 = x2 = -b/2*a; printf("x1 = %lf x2 = %lf\n", x1, x2); } return 0;}...

c语言编写一元2次方程

这是我做的

#include

#include

void main() //主函数

{

float a,b,c,delta,x,x1,x2,realpart,imagpart; //定义a,b,c,delta,x,x1,x2,x3为浮点型

scanf("%f,%f,%f",&a,&b,&c); //输入二次方程系数a,b,c的值

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

if(fabs(a)>=1e-6) //以下为if语句

{

if(fabs(delta)<=1e-6)

printf("此时方程有两相同实根且为%f\n",x=-b/2/a);//delta为0有一根

else if(delta>1e-6)

{

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

x2=(-b-sqrt(delta))/2/a;

printf("x1=%f,x2=%f\n",x1,x2);//delta>0有两实根

}

else

{

realpart=-b/(2*a);

imagpart=sqrt(-delta)/(2*a);

printf("has complex roots:\n");

printf("%f+%f*i\n",realpart,imagpart);

printf("%f-%f*i\n",realpart,imagpart);//delta<0有两复根

}

}

else

{

if(fabs(b)<=1e-6)

if(fabs(c)<=1e-6)

printf("可输出任意x值\n");

else

printf("此时方程无意义\n");

else

printf("此时方程有一根为%f\n",x=-c/b);

}

}

本文地址:https://www.39baobao.com/show/29_48738.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

C语言二分法解方程急谢谢本题的一个完整的c程序如下,程序在win-tc下调试通过,结果正确。#include #include #include #include int n; double c[16]; double Func(double); int BisectRoot(double,dou...

以C语言为工具利用二分法求解方程程序急#include "stdio.h" #include "math.h" float function(float x) { float f; f= x*x-2*x-1; return f; } void main() { float x1,x2,x0,fx1,fx2,fx0; x1=0;x2=3; fx1=function(...

用C语言编写二分法解方程程序#include <stdio.h> #include <math.h> float getvalue(float x) { return x*x*x+4*x*x-10; } void main() { float a=1,b=1.5,c; c=(a+b)/2; while(fabs(getvalue(c))>0.00...

C语言怎么样用二分法求方程的解x1,x2请输入-10,10 #include <stdio.h> #include <math.h> void main() { float x0,x1,x2,f0,f1,f2; do { printf("please enter x1 & x2:\n"); scanf("%f,%f",&x1,&x2); f1=((2...

C语言怎么样用二分法求方程的解用二分法求2X^3代码懒得写了写个步骤把 设f(x) = 2X^3 1 设置两个变量 a和b初值等于0 2 然后a增大b减小,直到 f(a)和f(b)一正一负 3 判断f( (a + b) / 2)是否等于0,等于0则转到8 4 判断f( (a...

c语言二分法求解方程程序#include "stdio.h" #define MAX 100 typedef struct node { int key; }NODE; int binsearch(NODE r[MAX],int k,int n) { int t=1,h=n,m; while(t<=h) { m=(t+h)/2; if(k==r[...

C语言采用二分法迭代求方程的解的程序#include #include double f(double x){ return ( x*x+6*x+225);/*这里是那个函数 好像在00?(y1-y2):-(y1-y2); return ( t>0.001 ? 0 :1 ); } double solve(){ double y1=65...

求c语言实现图形界面c c c语言都可以那得学习windows编程了。。。用VC6.0新建一个wn32程序,而不DOS程序,输入如下代码即可:#include#include#include#includeint g_nYPos = 200; //文字的Y坐标 long WINAPI WndProc...

C语言怎么求大数的阶乘C语言利用数组计算超大整数的阶乘代码 #include <stdio.h> int main() { int n; int a[9000]; //确保保存最终运算结果的数组足够大 int digit = 1; //位数 int temp; //阶乘的...