c++ 计算一元二次方程

解题思路

//计算一元二次方程

变量:a, b, c, x1, x2, delta, x

计算步骤:

1. 判断二次项系数是否为0(在本程序专门为计算一元二次方程提供的情况下)

2. 否:求delta

Delta>0  计算x1, x2,并输出

Delta=0  计算x,并输出

Delta<0  报错:方程无解

3. 是:报错error

 需要注意的问题:

(1)输入a,b,c的格式;

(2)控制方程根保留两位小数--setprecision(n)函数与  fixed结合使用控制小数点后的保留位数并补零;--重要知识点

(3)各变量的数据类型-float

程序关键代码

 

 1 #include<iostream>
 2 #include<cmath>//使用数学函数时记得引用 -----函数原型 
 3 #include<iomanip>//方程根保留两位小数 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     float a, b, c, x1, x2, delta, x;    
 9     cout << "请输入方程的三个系数:" << endl;
10     cout << "a = ";
11     cin >> a; 
12     //cout << "\n" << "b = " ;++++++ cin >> a 了之后会自动换一行,不用再加一个\n 
13     cout << "b = ";
14     cin >> b; 
15     cout << "c = ";
16     cin >> c; 
17     //cin  >> a >> b >> c;  
18     if(a!=0)
19     {
20         delta = b*b-4*a*c;
21         if(delta > 0)   
22         {
23             cout << fixed;
24             cout <<setprecision(2); //刚刚把后面的x1删掉了:cout<<setprecision(2)<<x1 ;
25             x1 = (-b+sqrt(delta))/(2*a);
26             x2 = (-b-sqrt(delta))/(2*a);
27             cout << "方程的根:     x1=" << x1 << "    " << "x2=" << x2 << endl;  
28         }
29         else if(delta==0)
30         {
31             x = -b/2*a;
32             cout << "x=" << x << endl;
33         }
34         else
35             cout << "方程无根!" << endl;    
36     }
37     else
38         cout << "error" << endl;
39     getchar();
40     getchar();//两个getchar()为了使控制台在执行完程序exe.后不立即关闭,显示计算结果
41     return 0;
42 }

 

 

 

 

原文链接: https://www.cnblogs.com/SophieWang-cmu/p/12612835.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    c++ 计算一元二次方程

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/339172

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午11:57
下一篇 2023年3月1日 下午11:58

相关推荐