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
}