如题所述
这出题的老师,连一元二次方程、二元一次方程都混起来了。
#include<stdio.h>#include<math.h>
void fun(double a,double b,double c)
{double d=b*b-4*a*c;
if(d<0)
{printf("没有实数根\n");
return;
}
if(d>0)
printf("x1=%lf\nx2=%lf\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else
printf("x1=x2=%lf\n",-b/(2*a));
}
int main()
{ double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
fun(a,b,c);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-11-21
#include <>
#include <math.h>
//计算并输出的根
void fun(double a, double b, double c){
double dt,x1,x2;
//首先判断a是否为0
if(a == 0.0){
printf("输入的不是一元二次方程!");
return;
}
//计算判定式并求解
dt = b * b - 4 * a * c;
if(dt < 0.0){
printf("方程无!");
}else if(dt == 0.0){
printf("方程有2个相同的实数根:\n x1 = x2 = %lf",-b / 2 * a);
}else{
dt = sqrt(dt);
x1 = (- b + dt) / 2 * a;
x2 = (- b - dt) / 2 * a;
printf("方程有2个不同的实数根:\n x1 = %lf\n x2 = %lf",x1,x2);
}
printf("\n");
}
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a, &b, &c);
fun(a,b,c);
return 0;
}本回答被网友采纳
#include <math.h>
//计算并输出的根
void fun(double a, double b, double c){
double dt,x1,x2;
//首先判断a是否为0
if(a == 0.0){
printf("输入的不是一元二次方程!");
return;
}
//计算判定式并求解
dt = b * b - 4 * a * c;
if(dt < 0.0){
printf("方程无!");
}else if(dt == 0.0){
printf("方程有2个相同的实数根:\n x1 = x2 = %lf",-b / 2 * a);
}else{
dt = sqrt(dt);
x1 = (- b + dt) / 2 * a;
x2 = (- b - dt) / 2 * a;
printf("方程有2个不同的实数根:\n x1 = %lf\n x2 = %lf",x1,x2);
}
printf("\n");
}
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a, &b, &c);
fun(a,b,c);
return 0;
}本回答被网友采纳
第2个回答 2018-11-21
int main(int argc, char** argv) {
double a, b, c;
scanf("%d", "%d", "%d", &a, &b, &c);
Fun(a, b, c);
return 0;
}
void Fun(double a, double b, double c)
{
if( b * b - 4 * a *c > 0)
{
printf("有两个不相等的实根");
/ /公式计算
}
else if(b * b - 4 * a *c == 0)
{
printf("有两个相等的实根");
//公式计算 具体的根值
}
else
{
printf("无实数根");
}
}
double a, b, c;
scanf("%d", "%d", "%d", &a, &b, &c);
Fun(a, b, c);
return 0;
}
void Fun(double a, double b, double c)
{
if( b * b - 4 * a *c > 0)
{
printf("有两个不相等的实根");
/ /公式计算
}
else if(b * b - 4 * a *c == 0)
{
printf("有两个相等的实根");
//公式计算 具体的根值
}
else
{
printf("无实数根");
}
}
第3个回答 2018-11-21
#include<stdio.h>
#include<math.h>
void fun(double a,double b,double c)
{
double disc,s,x1,x2,p,q,x;
printf("请输入a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
disc=sqrt(b*b-4*a*c);
p=-b/(2*a);
q=sqrt(b*b-4*a*c)/(2*a);
x1=p+q;
x2=p-q;
x=-c/b;
if(a==0)
printf("x=%5.2lf\n",x);
else
{
if(disc<0)
printf("无实根");
else if(disc==0)
printf("x1=x2=%5.2lf\n",x1);
else
printf("x1=%5.2lf\nx2=%5.2lf\n",x1,x2);
}
}
void main(){
fun(double a,double b,double c);
}追问
#include<math.h>
void fun(double a,double b,double c)
{
double disc,s,x1,x2,p,q,x;
printf("请输入a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
disc=sqrt(b*b-4*a*c);
p=-b/(2*a);
q=sqrt(b*b-4*a*c)/(2*a);
x1=p+q;
x2=p-q;
x=-c/b;
if(a==0)
printf("x=%5.2lf\n",x);
else
{
if(disc<0)
printf("无实根");
else if(disc==0)
printf("x1=x2=%5.2lf\n",x1);
else
printf("x1=%5.2lf\nx2=%5.2lf\n",x1,x2);
}
}
void main(){
fun(double a,double b,double c);
}追问
有错误
第4个回答 2018-11-21
刚到