본문 바로가기

SW Study/윤성우 C 프로그래밍

도전! 프로그래밍4 도전3

#include <stdio.h>
#include <stdlib.h>

typedef struct complxnum
{
   double real;
   double imaginary;
} ComplxNum;

ComplxNum Add(ComplxNum num1, ComplxNum num2)
{
   ComplxNum add;
   add.real = num1.real + num2.real;
   add.imaginary = num1.imaginary + num2.imaginary;
   return add;
}

ComplxNum Mul(ComplxNum num1, ComplxNum num2)
{
   ComplxNum mul;
   mul.real = (num1.real*num2.real) - (num1.imaginary*num2.imaginary);
   mul.imaginary = (num1.real*num2.imaginary) + (num1.imaginary*num2.real);
   return mul;
}

int main()
{
   ComplxNum num[2];
   int i;

   for (i = 0; i < 2; i++)
   {
      printf("Complex Num Input%d: ", i + 1);
      scanf("%lf %lf", &num[i].real, &num[i].imaginary);
   }

   printf("Sum Result] R: %f, I: %f \n", 
      Add(num[0], num[1]).real, Add(num[0], num[1]).imaginary);
   printf("Mul Result] R: %f, I: %f \n", 
      Mul(num[0], num[1]).real, Mul(num[0], num[1]).imaginary);
   return 0;
}