티스토리 뷰
// 뇌를 자극하는 C# 5.0 프로그래밍 연습문제 답 - 6장
1. 다음 코드에서 Square() 메소드를 구현해서 프로그램을 완성하세요. Square() 함수는 매개 변수를 제곱하여 반환합니다. 프로그램의 실행 예는 다음과 같습니다.
수를 입력하세요 : 3
결과 : 9
수를 입력하세요 : 34.2
결과 : 1169.64
namespace Ex6_1
{
class Program
{
static int Square(int arg)
{
return arg * arg;
}
static double Square(double arg)
{
return arg * arg;
}
static void Main(string[] args)
{
Console.Write("수를 입력 : ");
string input = Console.ReadLine();
double arg = Convert.ToDouble(input);
Console.WriteLine("결과 : {0}", Square(arg));
}
}
}
2. 다음 코드에서 Mean() 메소드를 실행하고 난 후의 mean의 값은 3이 아니라 0 입니다. mean이 0을 갖게 되는 원인과 이를 바로잡으려면 다음 코드에서 어떤 부분을 고쳐야 할까요?
using System;
namespace Ex6_2
{
class Program
{
static void Main(string[] args)
{
double mean = 0;
Mean(1, 2, 3, 4, 5, ref mean);
Console.WriteLine("평균 : {0}", mean);
}
public static void Mean(double a, double b, double c, double d, double e, ref double mean)
{
mean = (a + b + c + d + e) / 5;
}
}
}
=> ref 추가
3. 다음 코드에 Plus() 메소드가 double 형 매개 변수를 지원하도록 오버로딩하세요. 이 프로그램이 완성된 후의 실행 결과는 다음과 같아야 합니다.
3 + 4 = 7
2.4 + 3.1 = 5.5
using System;
namespace Ex6_3
{
class Program
{
static void Main(string[] args)
{
int a = 3;
int b = 4;
int resultA = 0;
Plus(a, b, out resultA);
Console.WriteLine("{0} + {1} = {2}", a, b, resultA);
double x = 2.4;
double y = 3.1;
double resultB = 0;
Plus(x, y, out resultB);
Console.WriteLine("{0} + {1} = {2}", x, y, resultB);
}
public static void Plus(int a, int b, out int c)
{
c = a + b;
}
public static void Plus(double a, double b, out double c)
{
c = a + b;
}
}
}