处理复数时,可以使用结构体来表示复数的实部和虚部,然后定义相应的操作函数来实现复数的加减乘除等运算。下面是一个简单的示例代码:
#includetypedef struct { double real; double imaginary; } Complex; Complex add(Complex c1, Complex c2) { Complex result; result.real = c1.real + c2.real; result.imaginary = c1.imaginary + c2.imaginary; return result; } Complex subtract(Complex c1, Complex c2) { Complex result; result.real = c1.real - c2.real; result.imaginary = c1.imaginary - c2.imaginary; return result; } Complex multiply(Complex c1, Complex c2) { Complex result; result.real = c1.real * c2.real - c1.imaginary * c2.imaginary; result.imaginary = c1.real * c2.imaginary + c1.imaginary * c2.real; return result; } void printComplex(Complex c) { if (c.imaginary >= 0) { printf("%.2f + %.2fi\n", c.real, c.imaginary); } else { printf("%.2f - %.2fi\n", c.real, -c.imaginary); } } int main() { Complex c1 = {3.0, 4.0}; Complex c2 = {1.0, -2.0}; Complex sum = add(c1, c2); Complex difference = subtract(c1, c2); Complex product = multiply(c1, c2); printf("Sum: "); printComplex(sum); printf("Difference: "); printComplex(difference); printf("Product: "); printComplex(product); return 0; }
这段代码定义了一个Complex结构体,包含了实部和虚部,然后定义了加法、减法、乘法等操作函数,并在main函数中测试了这些操作。通过结构体和函数的封装,可以方便地处理复数的运算。