编程题:
求一元二次方程:ax2+bx+c=0 的根。
输入三个实数a,b,c的值,且a不等于0。
#include #include int main() { float a,b,c,x1,x2,d; printf("输入方程的三个系数:"); scanf("%f %f %f",&a,&b,&c); if(a!=0) { d=sqrt(b*b-4*a*c); x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); if(x1
#include <stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> float more(int a, int b, int t);//大于0 float equal(int a, int b);//小于0 int main(void) {
float a,b,c,t; puts("请依次输入二次项,一次项,常数项系数"); scanf("%f%f%f", &a,&b,&c);
if(!a){
puts("二次项系数不能为0!!!");
}else{ t = b * b - 4 * a * c; if (t > 0) { more(a,b,t); printf("x1=%f,x2=%f\n", more(a, b, t),-(more(a, b, t)+b/a));//利用工根关系推出另一个根 }else if (t == 0) { printf("x=%f\n", equal(a,b)); }else { puts("无解"); }
} return 0; }
float more(int a,int b,int t) { return (sqrt(t) - b) / (2.0 * a); }
float equal(int a, int b) { return -b/(2*a); }
#include <stdi...
用户登录可进行刷题及查看答案
#include <stdio.h> #include <math.h> int main() { float a,b,c,x1,x2,d; printf("输入方程的三个系数:"); scanf("%f %f %f",&a,&b,&c); if(a!=0) { d=sqrt(b*b-4*a*c); x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); if(x1<x2) printf("%0.2f %0.2f\n",x2,x1); else printf("%0.2f %0.2f\n",x1,x2); } return 0; }
登录后提交答案