본문 바로가기

소프트웨어/C언어

C언어를 독파하자 - 함수


문제1] 세 개의 정수를 입력 받아서 그 중 가장 큰 수를 반환하는 함수와 가장 작은 수를 반환하는 함수를 만들어 보자. 그리고 이 함수들을 이용하는 적절한 main 함수도 구현해 보자.



#include 

int max(int a, int b, int c);

int main(void)
{
 int a,b,c;
 

 scanf("%d %d %d",&a,&b,&c);

 printf("가장 큰 수는 %d 입니다.\n",max(a,b,c));
 printf("가장 작은 수는 %d 입니다.\n", min(a,b,c));

 return 0;
}

 int max(int a, int b, int c)
 {
  if(a > b)
   return (a>c) ? a : c;
  else
   return (b>c) ? b : c;

 }
 int min(int a, int b, int c)
 {
  if(a < b)
   return (a<c) ? a : c;
   else 
   return (b<c) ? b : c;
}

 결과(살짝 어려워 컨닝) ^^

 

 


문제2] 섭씨 온도를 입력하면 화씨 온도로 변환하는 함수로 그 반대로 화씨 온도를 섭씨 온도로 변환하는 함수를 정의하고 이에 적절한 main 함수도 구현해 보자
 



#include 

double s(double c);
double g(double f);

int main(void)
{
 int d;
 double z;
 printf("1번 섭 2번 화\n");
 scanf("%d",&d);

 
 switch(d)
 {
  case 1:
  printf("섭씨 입력해봐\n");
  scanf("%lf",&z);
  printf("섭씨%f\n",s(z));
  
  break;

  case 2:
  printf("화씨 입력해봐");
  scanf("%lf",&z);
  printf("화씨%f\n",g(z));
  break;
 }

 return 0;
}


double s(double c)
{
 return 1.8*c+32;
}


double g(double f)
{
 return (f-32)/1.8;
}





결과

 



문제3] 곱셈 기능을 지니는 함수를 하나 구현하고 main 함수에서 이를 호출하는 형태로 프로그램을 구성하자!
main함수에서는 사용자로부터 두 개의 숫자를 입력받아서 곱셈 결과를 출력해 줘야 한다. 이러한 작업은 사용자가 0 을 두 개 입력할 떄까지 계속되어야 한다. 그리고 프로그램이 종료되면 연산을 몇 번 하였는지도 출력해준다.
 



#include 

int i=0;
int mux(int a, int b);

 

int main(void)
{
 while(1)
 {
  int a,b;
  scanf("%d%d",&a,&b);
  
  if(a==0 && b==0)
  {
   printf("총 %d 연산했다.\n",i); 
   break;
  }
  
  printf("연살결과는: %d 입니다.\n",mux(a,b));
   
 }
  
 return 0;
 
}


int mux(int a, int b)
{
 i++;
 return a * b;

}


 

결과