주석 달아주시면 보답으로 파리바게트 5000원 기프티콘 드릴게요~~ㅠㅜㅠㅜ

A:

-10.5 -1.8 3.5 6.3 7.2 E //사용자가 입력하는 부분입니다

B:

-1.8 3.1 6.3 E//사용자가 입력하는 부분입니다

merging A and B:

-10.50 -1.80 3.10 3.50 6.30 7.20


위에처럼 결과를 얻기 위해 아래의 소스코드를 이해해야하는데

프로그래밍 병신이라 뭔말인지 모르겠음ㅠㅠ

주요한 내용에 주석만 있으면 전체적으로 알것같은데...(진한 부분만 알면 되요)

혹시 도와주실분 계신가요??

댓글 달아주시면 제 메일주소 알려드릴게요

혹시 문제가 된다면 글삭하겠습니다.

#include <stdio.h>
int result(double A[], double B[], double merging[], const int n1, const int n2);

void main(void)
{
 double A[50];
 double B[50];
 double merging[100];
 int i,k,n1=0,n2=0, n3; 
 
 printf("A: \n");
 for(i=0;i<50;i++)
 {
  if(scanf("%lf", &A[i]) == 0) //여기 왜 ==0 이 붙나요??
  {
   if(getchar()=='E')   
    break;
   else
    i--; //i--는 왜있지?ㅠ
  }  
 }
 n1 = i; //이부분의 의미는?

 printf("B: \n");
 for(i=0;i<50;i++)
 {
  if(scanf("%lf", &B[i]) == 0)
  {
   if(getchar()=='E')   
    break;
   else
    i--;
  }  
 }
 n2 = i;

 n3 = result(A,B,merging, n1, n2);

 printf("merging A and B: \n");
 for (k=0;k<n3;k++)  
  printf("%.2lf ", merging[k]);
 printf("\n");
}

int result(double A[], double B[], double merging[], const int n1, const int n2) // 이 함수부분 단계별로 간단하게 설명해주시면 감사하겠습니다.
{
 int k = 0;
 int i, j;
 double temp;
 for(i = 0; i < n1; i++)
 {
  for(j = 0; j < k; j++)
  {
   if(*(merging+j) == A[i])
    break;
  }
  if(j == k)
   *(merging+k++) = A[i];
 }

 for(i = 0; i < n2; i++)
 {
  for(j = 0; j < k; j++)
  {
   if(*(merging+j) == B[i])
    break;
  }
  if(j == k)
   *(merging+k++) = B[i];
 }

 for(i = 0; i < k-1; i++)
 {
  for(j = i+1; j < k; j++)
  {
   if(*(merging+i) > *(merging+j))
   {
    temp = *(merging+i);
    *(merging+i) = *(merging+j);
    *(merging+j) = temp;
   }
  }
 }
 
return k;
}