본문 바로가기

C++

[C++] 명품C++ Chapter6 실습문제3

1. 함수 big()을 호출하는 경우는 다음과 같다.

 

int main() {
 int x = big(3, 5); //3과 5중 큰 값 5는 최대값 100보다 작으므로 , 5리턴
 int y = big(300, 60); //300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴
 int z = big(30, 60, 50); //30과 60 중 큰 값 60이 최대값 50보다 크므로, 50리턴

 cout << x << ' ' << y << ' ' << z << endl;
}

 

 

(1) big() 함수를 2개 중복하여 작성하고 프로그램을 완성하라.

 

 

#include<iostream>
using namespace std;

int big(int a, int b) {
 if (a > b) {
  if (100 > a) return a;
  else return 100;
 }
 else if (a < b) {
  if (100 > b) return b;
  else return 100;
 }
}

int big(int a, int b, int c) {
 if (a > b) {
  if (a > c)return c;
  else return a;
 }
 else if(a < b)
  if( b > c) return c;
  else return b;
}

int main() {
 int x = big(3, 5); //3과 5중 큰 값 5는 최대값 100보다 작으므로 , 5리턴
 int y = big(300, 60); //300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴
 int z = big(30, 60, 50); //30과 60 중 큰 값 60이 최대값 50보다 크므로, 50리턴

 cout << x << ' ' << y << ' ' << z << endl;
}
 

 

 

 

 

(2) 디폴트 매개 변수를 가진 하나의 big()함수를 작성하고 프로그램을 완성하라

 

#include<iostream>
using namespace std;

int big(int a, int b, int c=0) {
 if (c != 0) {
  if (a > b) {
   if (a > c)return c;
   else return a;
  }
  else if (a < b)
   if (b > c) return c;
   else return b;
 }

 if (a > b) {
  if (100 > a) return a;
  else return 100;
 }
 else if (a < b) {
  if (100 > b) return b;
  else return 100;
 }
}

int main() {
 int x = big(3, 5); //3과 5중 큰 값 5는 최대값 100보다 작으므로 , 5리턴
 int y = big(300, 60); //300과 60 중 큰 값 300이 최대값 100보다 크므로, 100 리턴
 int z = big(30, 60, 50); //30과 60 중 큰 값 60이 최대값 50보다 크므로, 50리턴

 cout << x << ' ' << y << ' ' << z << endl;
}

 

* 실행결과 *