#include typedef struct { float real; float imag; } Complex; // Function prototypes Complex readComplex(); void printComplex(Complex c); Complex addComplex(Complex a, Complex b); Complex subComplex(Complex a, Complex b); Complex mulComplex(Complex a, Complex b); int main() { Complex num1, num2, sum, diff, prod; printf("Enter first complex number:\n"); num1 = readComplex(); printf("Enter second complex number:\n"); num2 = readComplex(); // Perform operations sum = addComplex(num1, num2); diff = subComplex(num1, num2); prod = mulComplex(num1, num2); // Display results printf("\nResults:\n"); printf("First number: "); printComplex(num1); printf("Second number: "); printComplex(num2); printf("Sum: "); printComplex(sum); printf("Difference: "); printComplex(diff); printf("Product: "); printComplex(prod); return 0; } // Function to read a complex number Complex readComplex() { Complex c; printf(" Enter real part: "); scanf("%f", &c.real); printf(" Enter imaginary part: "); scanf("%f", &c.imag); return c; } // Function to print a complex number void printComplex(Complex c) { if (c.imag >= 0) printf("%.2f + %.2fi\n", c.real, c.imag); else printf("%.2f - %.2fi\n", c.real, -c.imag); } // Function to add two complex numbers Complex addComplex(Complex a, Complex b) { Complex result; result.real = a.real + b.real; result.imag = a.imag + b.imag; return result; } // Function to subtract two complex numbers Complex subComplex(Complex a, Complex b) { Complex result; result.real = a.real - b.real; result.imag = a.imag - b.imag; return result; } // Function to multiply two complex numbers Complex mulComplex(Complex a, Complex b) { Complex result; result.real = a.real * b.real - a.imag * b.imag; result.imag = a.real * b.imag + a.imag * b.real; return result; }