试题 算法提高 编程求一元二次方程的根(C++)

  • 资源限制
    时间限制:1.0s 内存限制:256.0MB
  • 问题描述
      编写一个求解一元二次方程的实数根的程序,方程的系数由用户在运行xh
  • 输入格式
      输入一行三个整数分别为一元二次方程的三个系数,数据之间以空格隔开
  • 输出格式
      输出一行为方程的实数根(若两根不同 较大的在前 两根以空格隔开 若两根相同 输出一个 若无根 输出 NO )
  • 样例输入
    1 -5 4
  • 样例输出
    4 1
  • 样例输入
    1 -2 1
  • 样例输出
    1
  • 样例输入
    1 0 1
  • 样例输出
    NO

满分代码如下:

#include<iostream>
#include<cmath>
using namespace std;
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    if(b*b-4*a*c<0){
        cout<<"NO"<<endl; 
    }else if(b*b-4*a*c==0){
        cout<<-b/2/a<<endl; 
    }else{
        cout<<(-b+sqrt(b*b-4*a*c))/2/a<<" "<<(-b-sqrt(b*b-4*a*c))/2/a<<endl;
    }
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。