我是靠谱客的博主 内向电脑,最近开发中收集的这篇文章主要介绍7-3 复数四则运算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


本题要求编写程序,计算2个复数的和、差、积、商。

【输入】

输入在一行中按照“a1 b1 a2 b2”的格式给出2个复数C1=a1+b1*i和C2=a2+b2*i的实部和虚部。题目保证C2不为0。

【输出】
分别在4行中按照“(a1+b1i) 运算符(a2+b2i) = 结果”的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。

【输入示例1】
2 3.08 -2.04 5.06

【输出示例1】
(2.0+3.1i) + (-2.0+5.1i) = 8.1i

(2.0+3.1i) - (-2.0+5.1i) = 4.0-2.0i

(2.0+3.1i) * (-2.0+5.1i) = -19.7+3.8i

(2.0+3.1i) / (-2.0+5.1i) = 0.4-0.6i

【输入示例2】
1 1 -1 -1.01

【输出示例2】
(1.0+1.0i) + (-1.0-1.0i) = 0.0

(1.0+1.0i) - (-1.0-1.0i) = 2.0+2.0i

(1.0+1.0i) * (-1.0-1.0i) = -2.0i

(1.0+1.0i) / (-1.0-1.0i) = -1.0

#include<stdio.h>
int main(){
    double a[3],b[3],f[5][3];
    char g[5]={' ','+','-','*','/'};//第一个可更换
    int i,c=1,d=1;
    scanf("%lf %lf",&a[1],&a[2]);
    scanf("%lf %lf",&b[1],&b[2]);
    f[1][1]=a[1]+b[1];f[1][2]=a[2]+b[2];
    f[2][1]=a[1]-b[1];f[2][2]=a[2]-b[2];
    f[3][1]=a[1]*b[1]-a[2]*b[2];f[3][2]=a[1]*b[2]+a[2]*b[1];
    f[4][1]=(a[1]*b[1]+a[2]*b[2])/(b[1]*b[1]+b[2]*b[2]);f[4][2]=(-a[1]*b[2]+a[2]*b[1])/(b[1]*b[1]+b[2]*b[2]);//计算
    for(i=1;i<=4;i++){
        if((int)(f[i][1]*10)==0){c=0;}
        if((int)(f[i][2]*10)==0){d=0;}//判断是否为0
        if(b[2]>=0&&a[2]>=0){
        if(c+d==0) printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
        else if(c==0) printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
        else if(d==0) printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
        else if(f[i][2]>0)printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
        else printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
        }else if(a[2]>=0){
            if(c+d==0) printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
            else if(c==0) printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
            else if(d==0) printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
            else if(f[i][2]>0)printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
            else printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
        }else if(b[2]>=0){
            if(c+d==0) printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
            else if(c==0) printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
            else if(d==0) printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
            else if(f[i][2]>0)printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
            else printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
        }else{
            if(c+d==0) printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
            else if(c==0) printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
            else if(d==0) printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
            else if(f[i][2]>0)printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
            else printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
        }
        c=1;d=1;
        if(i!=4){
            printf("n");
        }
    }
}

最后

以上就是内向电脑为你收集整理的7-3 复数四则运算的全部内容,希望文章能够帮你解决7-3 复数四则运算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部