两个复数相加
#include <stdio.h> typedef struct complex { float real; float imag; } complex; complex add(complex n1, complex n2); int main() { complex n1, n2, result; printf("for 1st complex number \n"); printf("Enter the real and imaginary parts: "); scanf("%f %f", &n1.real, &n1.imag); printf("\nfor 2nd complex number \n"); printf("Enter the real and imaginary parts: "); scanf("%f %f", &n2.real, &n2.imag); result = add(n1, n2); printf("Sum = %.1f + %.1fi", result.real, result.imag); return 0; } complex add(complex n1, complex n2) { complex temp; temp.real = n1.real + n2.real; temp.imag = n1.imag + n2.imag; return (temp); }
输出
for 1st complex number Enter the real and imaginary parts: 2.1 -2.3 for 2nd complex number Enter the real and imaginary parts: 5.6 23.2 Sum = 7.7 + 20.9i
在这个程序中,声明了一个名为
complex
的结构。它有两个成员:
real 和
imag。然后我们从这个结构中创建了两个变量
n1 和
n2。
这两个结构变量被传递给
add()
函数。该函数计算总和并返回包含总和的结构体。
最后,从
main()
函数打印复数的总和。