1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| #include <stdio.h> #include <stdlib.h> typedef struct { float real; float image;
} Complex;
Complex assign(float real, float image) { Complex c; c.real = real; c.image = image; return c; } Complex add(Complex c1, Complex c2) { Complex c; c.real = c1.real + c2.real; c.image = c1.image + c2.image; return c; } Complex sub(Complex c1, Complex c2) { Complex c; c.real = c1.real - c2.real; c.image = c1.image - c2.image; return c; } Complex mutiply(Complex c1, Complex c2) { Complex c; c.real = c1.real * c2.real - c1.image * c2.image; c.image = c1.real * c2.image + c1.image * c2.real; return c; }
int main() { Complex a, b, c, d, f; a = assign(-1, 1); b = assign(2, 5); c = add(a, b); d = sub(a, b); f = mutiply(a, b); printf("两个复数相加结果为:\n"); printf("%f,%f", c.real, c.image); printf("\n两个复数相减结果为:\n"); printf("%f,%f", d.real, d.image); printf("\n两个复数相乘结果为:\n"); printf("%f,%f", f.real, f.image); system("pause"); return 0; }
|