(세 숫자 정렬) 세 개의 숫자를 오름차순으로 정렬하여 출력하기 위한 다음 헤더를 갖는 함수를 작성하여라.
입력 예시
1, 2, 3 / 1, 3, 2 / 2, 1, 3 / 2, 3, 1 / 3, 1, 2 / 3, 2, 1
(문제 출처 - C++로 시작하는 객체지향 프로그래밍 6.5)
#include <iostream>
using namespace std;
void displaySortedNumbers(double num1, double num2, double num3)
{
double temp;
if (num1 > num2)
{
temp = num1;
num1 = num2;
num2 = temp;
}
if (num2 > num3)
{
temp = num2;
num2 = num3;
num3 = temp;
}
if (num1 > num2)
{
temp = num1;
num1 = num2;
num2 = temp;
}
cout << num1 << ' ' << num2 << ' ' << num3;
// void 함수라 return 필요 없음
// 함수에서 출력문까지 작성, 아래는 호출만
}
int main()
{
double num1, num2, num3;
cin >> num1 >> num2 >> num3;
displaySortedNumbers(num1, num2, num3);
}
temp를 사용해 값을 swap하고 오름차순으로 출력한다.
#include <iostream>
using namespace std;
void displaySortedNumbers(double num1, double num2, double num3)
{
if (num1 > num2)
{
double temp = num1;
num1 = num2;
num2 = temp;
}
if (num2 > num3)
{
double temp = num2;
num2 = num3;
num3 = temp;
}
if (num1 > num2)
{
double temp = num1;
num1 = num2;
num2 = temp;
}
cout << num1 << " " << num2 << " " << num3 << endl;
}
int main()
{
double number1, number2, number3;
cout << " Enter three numbers: ";
cin >> number1 >> number2 >> number3;
displaySortedNumbers(number1, number2, number3);
return 0;
}
temp
를 전역변수 대신 지역변수로 선언한다.
main 함수를 0으로 return한다.
.