王源666 2021-09-21 16:15 采纳率: 25%
浏览 265
已结题

大一新生c语言编程题不会写啊

img


怎么把他这个不同的结果写出来啊,而且这个虚数用什么数据类型啊

  • 写回答

1条回答 默认 最新

  • 广大菜鸟 2021-09-21 20:17
    关注
    #include "stdio.h"
    #include<math.h>
    #include<stdlib.h>
    typedef struct complex
    {
        double _Val[2]; //real、img
    }complex;
    complex* getResult(double a,double b,double c,complex*res){
        double delta=b*b-4*a*c;
        if(delta>=0){
            res[0]._Val[0] = (-b+sqrt(delta))/(2*a);
            res[0]._Val[1] = 0;
            res[1]._Val[0] = (-b-sqrt(delta))/(2*a);
            res[1]._Val[1] = 0;
        }else{
            double absDelta = -delta;
            double tmp = sqrt(absDelta)/(2*a);
            res[0]._Val[0] = -b/(2*a);
            res[0]._Val[1] = tmp;
            res[1]._Val[1] = -tmp;
            res[1]._Val[0] = -b/(2*a);
        }
        return res;
    }
    int main(){
        double a,b,c;
        complex res[2];
        while(scanf("%lf,%lf,%lf",&a,&b,&c)!=EOF){
            if(a==0){
                printf("The equation is not a quadratic\n");
                continue;
            }
            getResult(a,b,c,res);
            if(res[0]._Val[1]!=0){//复数
            printf("The quation has complex real roots:\n");
            printf("%.4lf+%.4lfi\n",res[0]._Val[0],res[0]._Val[1]);
            printf("%.4lf%.4lfi\n",res[1]._Val[0],res[1]._Val[1]);
            }else if(res[0]._Val[0]!=res[1]._Val[0]){        
                printf("The quation has distinct real roots:%.4lf and %.4lf\n",res[0]._Val[0],res[1]._Val[0]);
            }else{
                printf("The quation has two equal real roots:%.4lf\n",res[0]._Val[0]);
            }     
        }
        system("pause");
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月29日
  • 已采纳回答 9月21日
  • 创建了问题 9月21日

悬赏问题

  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?