这个能改成C#么
大名2009/03/28软件综合 IP:辽宁
//求解任意一元三次方程 a*x^3+b*x^2+c*x+d=0
//输入a,b,c,d;  输出三个解分别为x1,x2,x3
//

#include  <complex>
#include  <iostream>
#include  <math.h>
using   namespace   std;

void  quadratic_equation(double a4,double b4,double c4,complex<double> &z1,complex<double> &z2);

int main()
{

    float a,b,c,d;
    double p,q,delta;
    double M,N;
    complex<double> temp1,temp2;
    complex<double> x1,x2,x3;
    complex<double> y1,y2;


    cout<<" please input the coefficients a, b, c, d : ";      

    cin>>a>>b>>c>>d;

    //输入一元三次方的系数,得方程为a*x^3+b*x^2+c*x+d=0;
  


    if(a==0)
    {
        quadratic_equation(b,c,d,y1,y2);

        x1 = y1;
        x2 = y2;
        x3 = 0;
        
        std::cout<<" x1="<< x1 <<endl;<br>        std::cout<<" x2="<< x2 <<endl;<br>        std::cout<<" x3="<< x3 <<endl;<br><br>    }<br>    else<br>    {<br>        <br>    p = -1.0/3*pow((b*1.0/a),2.0)+c*1.0/a;                  <br>    q = 2.0/27*pow((b*1.0/a),3.0)-1.0/3*b*c/(a*a)+d*1.0/a;  <br>    <br>    // p = -1/3*(b/a)^2+c/a;<br>    // q = 2/27*(b/a)^3-1/3*b*c/(a*a)+d/a;    <br>    //化成 y^3+p*y+q=0 形式<br><br><br>    delta = pow((q/2.0),2.0)+pow((p/3.0),3.0);<br>    <br>    //判别式 delta = (q/2)^2+(p/3)^3;<br><br><br>    <br>    cout<<" delta>0,有一个实根和两个复根;delta=0,有三个实根;delta<0,有三个不等的实根"<<endl;

    cout<<" 判别式的值 delta="<<delta<<endl;<br>    //delta>0,有一个实根和两个复根;<br>    //delta=0,有三个实根;<br>    //delta<0,有三个不等的实根。<br><br>    <br><br>    <br>    complex<double>  omega1(-1.0/2, sqrt(3.0)/2.0);<br>    complex<double>  omega2(-1.0/2, -sqrt(3.0)/2.0);<br><br>    complex<double>  yy(b/(3.0*a),0.0);    <br><br>    <br>    M = -q/2.0;<br><br>    if(delta<0)<br>    {<br>         N = sqrt(fabs(delta));<br>         complex<double>  s1(M,N);  <br>         complex<double>  s2(M,-N);    <br>         <br>         x1 = (pow(s1,(1.0/3))+pow(s2,(1.0/3)))-yy;<br>         x2 = (pow(s1,(1.0/3))*omega1+pow(s2,(1.0/3))*omega2)-yy;<br>         x3 = (pow(s1,(1.0/3))*omega2+pow(s2,(1.0/3))*omega1)-yy;         <br>         <br><br>        std::cout<<" x1="<< x1 <<endl;<br>        std::cout<<" x2="<< x2 <<endl;<br>        std::cout<<" x3="<< x3 <<endl;<br><br>        //输出结果 x1=y1-b/(3*a); x2=y2-b/(3*a); x3=y3-b/(3*a);<br>    }<br>    else<br>    {<br>        N = sqrt(delta);<br><br>        //cout<<" please output the M+N="<<M+N<<endl;<br>        //cout<<" please output the M-N="<<M-N<<endl;<br><br>        //  M+N= -q/2+sqrt((q/2)^2+(p/3)^3);<br>        //  M-N= -q/2-sqrt((q/2)^2+(p/3)^3);<br><br>        complex<double>  f1(M+N,0); <br>        complex<double>  f2(M-N,0);<br><br>         if(M+N >= 0)<br>             temp1 = pow((f1),1.0/3);<br>         else<br>             temp1 = -norm(pow(sqrt(f1),1.0/3));<br><br><br>         if(M-N >= 0)<br>             temp2 = pow((f2),1.0/3);<br>         else        <br>             temp2 = -norm(pow(sqrt(f2),1.0/3));<br><br><br>         x1 = temp1+temp2-yy;         <br>         x2 = omega1*temp1+omega2*temp2-yy;<br>         x3 = omega2*temp1+omega1*temp2-yy; <br><br><br>         std::cout<<" x1="<< x1 <<endl;<br>         std::cout<<" x2="<< x2 <<endl;<br>         std::cout<<" x3="<< x3 <<endl;<br><br>        //输出结果 x1=y1-b/(3*a); x2=y2-b/(3*a); x3=y3-b/(3*a);<br>    }<br><br>    }<br><br>  return 0;<br><br>}<br><br><br><br><br><br>void  quadratic_equation(double a4,double b4,double c4,complex<double> &z1,complex<double> &z2)<br>{<br>        <br>    double delta;<br>    complex<double> temp1,temp2;<br><br>    delta=b4*b4-4*a4*c4; <br><br>    <br>    complex<double> temp(delta,0);<br><br>    temp1 = (-b4)/(2*a4);<br>    temp2 = sqrt(temp)/(2*a4);<br><br>    z1=temp1+temp2;<br>    z2=temp1-temp2;<br>    <br>}
来自:计算机科学 / 软件综合
2
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
fw。
15年10个月前 IP:未同步
85567
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°
15年10个月前 IP:未同步
87031
纯算法,啥语言都能 = =
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
所属分类
上级专业
同级专业
大名
学者 机友 笔友
文章
60
回复
553
学术分
2
2007/03/05注册,1年1个月前活动

主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}