(C语言用结构体实现复数初始化加减法)程序怎样改才对

2025-04-07 21:31:28
推荐回答(1个)
回答1:

#include
typedef struct
{ float real;
  float image;
} complex ;
void initcomplex(complex &l)
{ l.real=0;
  l.image=0;
}
complex getcomplex(float a,float b,complex &l)
{ l.real=a;
  l.image=b;
  return l;
}
complex addcomplex(complex &s,complex t)
{ s.real=s.real+t.real;
  s.image=s.image+t.image;
  return s;
}
complex subtractcomplex(complex s,complex t)
{ s.real=s.real-t.real;
  s.image=s.image-t.image;
  return s;
}
complex multiplycomplex(complex s,complex t)
{ s.real=s.real*t.real;
  s.image=s.image*t.image;
  return s;
}
complex dividecomplex(complex s,complex t)
{ s.real=s.real/t.real;
  s.image=s.image/t.image;
  return s;
}
void printcomplex(complex l)
{ printf("%g%+-gi\n",l.real,l.image);
}
int main()
{ float a,b;
  complex l,m;
  printf("输入复数的实部和虚部\n");
  scanf("%g%g",&a,&b);
 // initcomplex(l);
  getcomplex(a,b,l);
  printcomplex(l);
  printf("输入另一个复数的实部和虚部:\n");
  scanf("%g%g",&m.real,&m.image);
  addcomplex(m,l);
  printcomplex(m);
  return 0;
}