求助。。C语言表示复数的问题

struct fs
{
float fsb;
float fxb;
};
void PrintFS(struct fs f1)
{
printf("%d,%di",f1.fsb,f1.fxb);
}
struct fs Init(float fsb,float fxb)
{
struct fs f1;
f1.fsb=fsb;
f1.fxb=fxb;
return f1;
}
struct fs add(struct fs f1,struct fs f2)
{
struct fs f3;
f3.fsb=f1.fsb+f2.fsb;
f3.fxb=f1.fxb+f2.fxb;
return f3;
}
struct fs minu(struct fs f1,struct fs f2)
{
struct fs f3;
f3.fsb=f1.fsb-f2.fsb;
f3.fxb=f1.fxb-f2.fxb;
return f3;
}
struct fs multi(struct fs f1,struct fs f2)
{
struct fs f3;
f3.fsb=f1.fsb*f2.fsb-f1.fxb*f2.fxb;
f3.fxb=f1.fsb*f1.fxb+f1.fxb*f2.fsb;
return f3;
}
struct fs divi(struct fs f1,struct fs f2)
{
struct fs f3;
f3.fsb=(f1.fsb*f2.fsb+f1.fxb*f2.fxb)/(f2.fsb*f2.fsb+f2.fsb*f2.fsb);
f3.fxb=(f1.fxb*f2.fsb-f1.fsb*f1.fxb)/(f2.fsb*f2.fsb+f2.fsb*f2.fsb);
return f3;
}
main()
{
struct fs f1=Init(3,4);
struct fs f2=Init(1,4);
PrintFS(add(f1,f2));
}
哪里错了??请高手帮忙修改
结果后面的小数位要怎么去掉呢??

printf("%d,%di",f1.fsb,f1.fxb); 修改为

printf("%f,%f",f1.fsb,f1.fxb);
温馨提示:答案为网友推荐,仅供参考
相似回答