我自己编了一个求解啊a*x*x+b*x+c=0程序
可以求解系数为开方形式的方程,一次方程和二次方程都可以求解,希望各位大侠多多指教。程序代码:
#include "iostream.h" #include <cmath> int main() { double x,y,a,b,c,w,u,dlt; int k,l, m; cout<<"求解形如a*x*x+b*x+c=0的方程程序:"<<endl; { cout<<"请输入a"<<" "; cin>>a; cout<<"是否对a开方,若是请输入k==1,否则输入其他值"<<" k="; cin>>k; if(k==1) a=sqrt(a); else a=a; } {cout<<"请输入b"<<" "; cin>>b; cout<<"是否对b开方若是,请输入l==1,否则输入其他值"<<" l="; cin>>l; if(l==1) b=sqrt(b); else b=b; } { cout<<"请输入c"<<" "; cin>>c; cout<<"是否对c开方,若是请输入m==1,否则输入其他值"<<" m="; cin>>m; if(m==1) c=sqrt(c); else c=c; } if(a==0) { cout<<"方程是一元一次方程"<<endl; x=-c/b; cout<<"x="<<x<<endl; return 0; } else dlt=b*b-4*a*c; if(dlt==0) {x=(-b+sqrt(dlt))/2/a; cout<<"方程有等实根"<<endl; cout<<"x=y="<<x<<endl; } else if(dlt>0) {cout<<"方程有两个不相等的实根"<<endl; x=(-b+sqrt(dlt))/2/a; y=(-b-sqrt(dlt))/2/a; cout<<"x="<<x<<endl; cout<<"y="<<y<<endl; } else {w=(-b)/2/a; u=sqrt(fabs(dlt))/2/a; cout<<"方程有虚根"<<endl; cout<<"x="<<w<<"+"<<u<<"i"<<endl; cout<<"y="<<w<<"-"<<u<<"i"<<endl; } }
[ 本帖最后由 wuyuewei 于 2010-4-25 13:48 编辑 ]