基础问题:用数据结构写复数

来源:百度知道 编辑:UC知道 时间:2024/05/28 04:20:56
#include <stdio.h>
#include <math.h>
typedef struct fs
{
double sb;
double xb;
}Fs;
Fs jiafa(Fs fs1,Fs fs2)
{
Fs result;
result.sb=fs1.sb+fs2.sb;
result.xb=fs1.xb+fs2.xb;
return result;
}
Fs jianfa(Fs fs1,Fs fs2)
{
Fs result;
result.sb=fs1.sb-fs2.sb;
result.xb=fs1.xb-fs2.xb;
return result;
}
Fs chengfa(Fs fs1,Fs fs2)
{
Fs result;
result.sb=fs1.sb*fs2.sb-fs1.xb*fs2.xb;
result.xb=fs1.sb*fs2.xb+fs1.xb*fs2.xb;
return result;
}
Fs chufa(Fs fs1,Fs fs2)
{

Fs result;
if(fs2.sb==0&&fs2.xb==0)
{
printf("error");
return;
}
result.sb=fs1.sb*fs2.sb+fs1.xb*fs2.xb/fs2.sb*fs2.sb+fs2.xb*fs2.xb;
result.xb=fs1.xb*fs2.sb-fs1.sb*fs2.xb;
return result;
}
Fs Init(double m,double n)
{
Fs fs1;
fs1.sb=m;
fs1.xb=n;
return fs1;
}<

首先,话说你的结果里乘法那里去了?
除法那边不是溢出,是算错了。实部漏括号,所以“.#IND0”;虚部连分母都没写。

“.#IND0

这是些什么啊