编制程序,计算两个复数的减法和乘法.要求使用结构体数组存储复数数据,并尽可能按照模块化设计方法将程序中的操作都实现为函数

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 22:12:10
编制程序,计算两个复数的减法和乘法.要求使用结构体数组存储复数数据,并尽可能按照模块化设计方法将程序中的操作都实现为函数

编制程序,计算两个复数的减法和乘法.要求使用结构体数组存储复数数据,并尽可能按照模块化设计方法将程序中的操作都实现为函数
编制程序,计算两个复数的减法和乘法.
要求使用结构体数组存储复数数据,并尽可能按照模块化设计方法将程序中的操作都实现为函数

编制程序,计算两个复数的减法和乘法.要求使用结构体数组存储复数数据,并尽可能按照模块化设计方法将程序中的操作都实现为函数
#include
struct Complex{
\x05int i;
\x05int j;
};
struct Complex subtract(struct Complex,struct Complex);
struct Complex multiply(struct Complex,struct Complex);
void printComplex(struct Complex);
int main(){
\x05struct Complex a,b,sub,mul;
\x05printf("Input two Complexes:\n");
\x05scanf("%d %d %d %d",&a.i,&a.j,&b.i,&b.j);
\x05sub=subtract(a,b);
\x05mul=multiply(a,b);
\x05printf("The complexes are respectively ");
\x05printComplex(a);
\x05printf(" and ");
\x05printComplex(b);
\x05printf(".\nThe difference is ");
\x05printComplex(sub);
\x05printf(".\nThe product is ");
\x05printComplex(mul);
}
struct Complex subtract(struct Complex a,struct Complex b){
\x05struct Complex c;
\x05c.i=a.i-b.i;
\x05c.j=a.j-b.j;
\x05return c;
}
struct Complex multiply(struct Complex a,struct Complex b){
\x05struct Complex c;
\x05c.i=a.i*b.i-a.j*b.j;
\x05c.j=a.i*b.j+a.j*b.i;
\x05return c;
}
void printComplex(struct Complex c){
\x05printf("%d",c.i);
\x05if(c.j>=0){
\x05\x05printf("+");
\x05}
\x05printf("%di",c.j);
}