c语言虚数乘法

Python015

c语言虚数乘法,第1张

#include<stdio.h>

void xushu(int a,int b,int c,int d)

{

    int num1,num2

    num1=a*d+b*c

    num2=-(a*c)+b*d

    if(num2>0)

        printf("(%di+%d)(%di+%d)=%di+%d",a,b,c,d,num1,num2)

    else

        printf("(%di+%d)(%di+%d)=%di%d",a,b,c,d,num1,num2)

}

int main()

{

    int a,b,c,d

    printf("input number1:\n")

    scanf("%di+%d",&a,&b)

    printf("input number2:\n")

    scanf("%di+%d",&c,&d)

    xushu(a,b,c,d)

}

回答的也太快了吧!我刚输完就有这么多了!

还好我这是纯c语言版。

输入数据是实属部分虚数部分用逗号隔开。

#include <stdio.h>

#include <stdlib.h>

typedef struct

{

double real/*实数部分*/

double vir /*虚数部分*/

}COMPLEX

COMPLEX add(COMPLEX a,COMPLEX b)

COMPLEX substract(COMPLEX a,COMPLEX b)

COMPLEX multiple(COMPLEX a,COMPLEX b)

COMPLEX divide(COMPLEX a,COMPLEX b)

void printC(COMPLEX n)

{

if((n.vir - 0.00) <0)

printf("(%.4lf%.4lfi)",n.real,n.vir)

else

printf("(%.4lf+%.4lfi)",n.real,n.vir)

}

void main()

{

COMPLEX a,b

char c

printf("input real and virtual of complex number a:")

scanf("%lf,%lf",&a.real,&a.vir)

fflush(stdin)

printf("input real and virtual of complex number b:")

scanf("%lf,%lf",&b.real,&b.vir)

c = '+'

printC(a)printf(" %c ",c)printC(b)printf(" = ")

printC(add(a,b))

putchar('\n')

c = '-'

printC(a)printf(" %c ",c)printC(b)printf(" = ")

printC(substract(a,b))

putchar('\n')

c = '-'

printC(a)printf(" %c ",c)printC(b)printf(" = ")

printC(multiple(a,b))

putchar('\n')

c = '/'

printC(a)printf(" %c ",c)printC(b)printf(" = ")

printC(divide(a,b))

putchar('\n')

system("pause")

}

COMPLEX add(COMPLEX a,COMPLEX b)

{

COMPLEX c

c.real = a.real + b.real

c.vir = a.vir + b.vir

return c

}

COMPLEX substract(COMPLEX a,COMPLEX b)

{

COMPLEX c

c.real = a.real - b.real

c.vir = a.vir - b.vir

return c

}

COMPLEX multiple(COMPLEX a,COMPLEX b)

{

COMPLEX c

c.real = a.real * b.real - a.vir * b.vir

c.vir = a.vir * b.real + a.real * b.vir

return c

}

COMPLEX divide(COMPLEX a,COMPLEX b)

{

COMPLEX c

double den = b.real * b.real + b.vir * b.vir

c.real = (a.real * b.real + a.vir * b.vir) / den

c.vir = (a.vir * b.real - a.real * b.vir) / den

return c

}