与神明说


私信TA

用户名:subject

访问量:35444

签 名:

听闻黄昏是个浪漫主义者,难怪夕阳会爱上他

等  级
排  名 333
经  验 5391
参赛次数 0
文章发表 33
年  龄 24
在职情况 在职
学  校
专  业 软件技术

  自我简介:

可有偿指导,可代做毕设,课设,作业,(qq:1159921160,备注来意)

解题思路:

  
    一元二次方程  ax²+bx+c=0   (a≠0)              
    其求根依据判定式△的取值为三种   ( △=b²-4ac )
     
        1. △>0,方程有两个不相等的实数根;
         
            x1=[-b+√(△)]/2a;   //( △=b²-4ac )
            x2=[-b-√(△)]/2a;
         
        2. △=0,方程有两个相等的实数根;
            x1=x2=[-b+√(△)]/2a= -b/2a ;
         
        3. △<0,方程无实数根,但有2个共轭复根。
            x1=[-b+√(△)*i]/2a;   //( △=b²-4ac )
            x2=[-b-√(△)*i]/2a;


注意事项:

    注意控制格式,保留三位小数输出
    sqrt()开平方函数,参数为正数

参考代码:

#include"stdio.h" 
#include"math.h"   //调用sqrt()开平方函数
 
float x1,x2,a,b,c,z;
  
void func1(){  //大于零 
    x1=( -b+sqrt(z) )/( 2*a );
    x2=( -b-sqrt(z) )/( 2*a );
}
 
void func2(){  //等于零 
    x1=x2=( -b )/( 2*a );
}
 
void func3(){  //小于零 
    int A,B;
    z=sqrt(-z);
    A=-b/(2*a);
    B=z/(2*a);
    printf("x1=%.3f+%.3fi x2=%.3f-%.3fi\n",A,B,A,B);
}
 
int main(){
    scanf("%f%f%f",&a,&b,&c);
    z=b*b-4*a*c;
    if(z>0){
        func1();
    }else if(z<0){
        func3();
        return 0;
    }else{
        func2();
    }
    printf("x1=%.3f x2=%.3f\n",x1,x2);
    return 0;
}


 

0.0分

1 人评分

  评论区

func3()里面的A,B该用float定义呀
2019-08-05 16:34:10
题没有说解一元二次方程啊
2018-12-09 23:27:30
  • «
  • 1
  • »