一、问题:求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入。
可以写出如下的程序完成求解:
[cpp] view plaincopyprint?
- #include<iostream>
- #include<cmath>
- usingnamespace std;
- int main( )
- {
- float a,b,c,x1,x2;
- cin>>a>>b>>c;
- if ((b*b-4*a*c)>=0)
- {
- if((b*b-4*a*c)>0)
- {
- x1=(-b+sqrt(b*b-4*a*c))/(2*a);
- x2=(-b-sqrt(b*b-4*a*c))/(2*a);
- cout<<"两个不相等的实根分别是:x1="<<x1<<",""x2="<<x2<<endl;
- }
- else
- {
- x1=-b/(2*a);
- cout<<"两个相等的实根,x1=x2="<<x1<<endl;
- }
- }
- else
- cout<<"方程无实根"<<endl;
- return 0;
- }
#include<iostream> #include<cmath> usingnamespace std; int main( ) { float a,b,c,x1,x2; cin>>a>>b>>c; if ((b*b-4*a*c)>=0) { if((b*b-4*a*c)>0) { x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); cout<<"两个不相等的实根分别是:x1="<<x1<<",""x2="<<x2<<endl; } else { x1=-b/(2*a); cout<<"两个相等的实根,x1=x2="<<x1<<endl; } } else cout<<"方程无实根"<<endl; return 0; }
二、开发窗口版程序
开始我自己的窗口了,
重要的是关联
这是图形界面:
按键代码:
void CMy321Dlg::OnButton1() { // TODO: Add your control notification handler code here double delat; UpdateData(); delat=m_b*m_b-4*m_a*m_c; if(delat>=0) { m_x1=(-m_b+sqrt(delat))/(2*m_a); m_x2=(-m_b-sqrt(delat))/(2*m_a); } else MessageBox("方程无实根"); UpdateData(FALSE); }
知识点应用及心得:
这个知识点到现在才完成,发现自己也是挺烂的。
时间: 2024-11-05 13:40:52