#include <stdio.h>
#include <stdlib.h>
typedef struct
{
float Realpart;
float Imagepart;
}Complex;
void Create(&Complex C,float x,float y)
{
C.Realpart=x;
C.Imagepart=y;
}
float GetReal(Complex C)
{
return C.Realpart;
}
float GetImag(Complex C)
{
return C.Imagepart;
}
Complex Add(Complex C1,Complex C2)
{
Complex sum;
sum.Realpart=C1.Realpart+C2.Realpart;
sum.Imagepart=C1.Imagepart+C2.Imagepart;
return sum;
}
Complex Sub(Complex C1,Complex C2)
{
Complex difference;
difference.Realpart=C1.Realpart-C2.Realpart;
difference.Imagepart=C1.Imagepart-C2.Imagepart;
return difference;
}
int main(int argc, char *argv[])
{
return 0;
}
main函数怎么写取决于你想达到什么样的目的。如果只是简单的验证一下函数的效果,就定义两个结构体,用上面的函数实验一下就可以了。
参考如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
float Realpart;
float Imagepart;
}Complex;
//这个地方改为指针
void Create(Complex *C,float x,float y)
{
C->Realpart=x;
C->Imagepart=y;
}
float GetReal(Complex C)
{
return C.Realpart;
}
float GetImag(Complex C)
{
return C.Imagepart;
}
Complex Add(Complex C1,Complex C2)
{
Complex sum;
sum.Realpart=C1.Realpart+C2.Realpart;
sum.Imagepart=C1.Imagepart+C2.Imagepart;
return sum;
}
Complex Sub(Complex C1,Complex C2)
{
Complex difference;
difference.Realpart=C1.Realpart-C2.Realpart;
difference.Imagepart=C1.Imagepart-C2.Imagepart;
return difference;
}
int main(int argc, char *argv[])
{
Complex c1;
Create(&c1,1.1,1.2); //这个地方,第一个参数改为指针
printf("c1.Realpart = %.1f;c1.Imagepart=%.1f\n",GetReal(c1),GetImag(c1));
Complex c2;
c2.Realpart = 2.1;
c2.Imagepart = 2.2;
printf("c2.Realpart = %.1f;c2.Imagepart=%.1f\n",GetReal(c2),GetImag(c2));
Complex c3 = Add(c1,c2);
printf("c1+c2= c3.Realpart =%.1f,c3.Imagepart=%.1f\n",GetReal(c3),GetImag(c3));
Complex c4 = Sub(c1,c2);
printf("c1-c2= c4.Realpart =%.1f,c4.Imagepart=%.1f\n",GetReal(c4),GetImag(c4));
return 0;
}