跳到主要内容

C 编程:通过结构体向函数传递以加两个复数的程序

要理解这个示例,你应该了解以下 C 语言编程 相关主题:

相加两个复数

#include <stdio.h>
typedef struct complex {
float real;
float imag;
} complex;

complex add(complex n1, complex n2);

int main() {
complex n1, n2, result;

printf("对于第一个复数 \n");
printf("输入实部和虚部:");
scanf("%f %f", &n1.real, &n1.imag);
printf("\n对于第二个复数 \n");
printf("输入实部和虚部:");
scanf("%f %f", &n2.real, &n2.imag);

result = add(n1, n2);

printf("和 = %.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);
}

输出

对于第一个复数
输入实部和虚部:2.1 -2.3

对于第二个复数
输入实部和虚部:5.6 23.2
和 = 7.7 + 20.9i

在这个程序中,声明了一个名为 complex 的结构体。它有两个成员:realimag。然后我们从这个结构体中创建了两个变量 n1n2

这两个结构体变量被传递给 add() 函数。该函数计算求和并返回包含和的结构体。

最后,从 main() 函数中打印出复数的和。