复数的四则运算

 纯C语言版:

#include<stdio.h>
#include<math.h>

struct cpxNum
{
    double a,b;
};
cpxNum cplus(cpxNum c1,cpxNum c2);      //加
cpxNum cmilus(cpxNum c1,cpxNum c2);     //减
cpxNum cmultiply(cpxNum c1,cpxNum c2);  //乘
cpxNum cdivide(cpxNum c1,cpxNum c2);    //除

int main()
{
    cpxNum c1, c2,c3;
    double real,imag;
    printf("请输入第一个复数的实部和虚部: ");
    scanf("%lf %lf",&real,&imag);
    printf("您生成的第一个复数是: ");
    c1.a=real;
    c1.b=imag;
    printf("%f+%fi\n",real,imag);

    printf("请输入第二个复数的实部和虚部: ");
    scanf("%lf %lf",&real,&imag);
    printf("您生成的第二个复数是: ");
    c2.a=real;
    c2.b=imag;
    printf("%f+%fi\n",real,imag);
    printf("***********复数运算测试*************\n");
    printf("c1 + c2的结果是: ");
    c3=cplus(c1, c2);
    if(c3.b<0)
        printf("%lf - %lfi\n",c3.a,fabs(c3.b));
    else
        printf("%lf + %lfi\n",c3.a,c3.b);

    printf("c1 - c2的结果是: ");;
    c3=cmilus(c1, c2);
    if(c3.b<0)
        printf("%lf - %lfi\n",c3.a,fabs(c3.b));
    else
        printf("%lf+%lfi\n",c3.a,c3.b);

    printf("c1 * c2的结果是: ");
    c3=cmultiply(c1, c2);
    if(c3.b<0)
        printf("%lf - %lfi\n",c3.a,fabs(c3.b));
    else
        printf("%lf+%lfi\n",c3.a,c3.b);

    printf("c1 / c2的结果是: ");
    c3=cdivide(c1, c2);
    if(c3.b<0)
        printf("%lf - %lfi\n",c3.a,fabs(c3.b));
    else
        printf("%lf+%lfi\n",c3.a,c3.b);

    printf("**********复数运算测试结束***********\n");
    return 0;
}
cpxNum cplus(cpxNum c1,cpxNum c2)
{
    cpxNum c3;
    c3.a=c1.a+c2.a;
    c3.b=c1.b+c2.b;
    return c3;
}

cpxNum cmilus(cpxNum c1,cpxNum c2)
{
    cpxNum c3;
    c3.a=c1.a-c2.a;
    c3.b=c1.b-c2.b;
    return c3;
}
cpxNum cmultiply(cpxNum c1,cpxNum c2)
{
    cpxNum c3;
    c3.a=c1.a*c2.a-c1.b*c2.b;
    c3.b=c1.a*c2.b+c1.b*c2.a;
    return c3;
}
cpxNum cdivide(cpxNum c1,cpxNum c2)
{
    cpxNum c3;
    c3.a=c1.a*c2.a+c1.b*c2.b;
    c3.b=c1.b*c2.a-c1.a*c2.b;
    return c3;
}
//优化了虚部的表示

用结构体挺简单的;

贴张运行效果图:

全部评论
解释一下系统的设计思路包括需要创建的对象和加在其上的操作
点赞 回复 分享
发布于 2023-03-23 21:00 湖北
解释一下系统的设计思路包括需要创建的对象和加在其上的操作
点赞 回复 分享
发布于 2023-03-23 21:01 湖北

相关推荐

10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务