이것이 C# 이다. 6장 연습문제

2020. 1. 16. 20:30C# 언어/이것이 C# 이다. 연습문제

반응형

1. 다음 코드에서 Square() 메소드를 구현해서 프로그램을 완성하세요. Sqaure() 함수는 매개 변수를 제곱하여 반환합니다. 프로그램의 실행 예는 다음과 같습니다.

수를 입력하세요: 3
결과 : 9

수를 입력하세요 : 34.2
결과 : 1169.64
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using static System.Console;
using System.Text;
using System.IO;
 
namespace baekjoon
{
    class MainApp
    {
        static double Square(double arg)
        {
            return arg * arg;
        }
        static void Main()
        {
            Write("수를 입력하세요 : ");
            string input = Console.ReadLine();
            double arg = Convert.ToDouble(input);
 
            WriteLine($"결과 : {Square(arg)}");
        }
    }
}

 

2. 다음의 코드에서 Mean() 메소드를 실행한 후의 mean은 얼마의 값을 가질까요? 3이라고요? 아닙니다.

0입니다. 자, 문제 나갑니다. mean이 0을 갖게 되는 원인과 이를 바로잡으려면 다음의 코드에서

어떤 부분을 고쳐야 할까요?

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using static System.Console;
using System.Text;
using System.IO;
 
namespace baekjoon
{
    class MainApp
    {
        static void Main()
        {
            double mean = 0;
 
            Mean(12345, ref mean); // ref 키워드 사용
 
            WriteLine($"평균 : {mean}");
 
        }
 
        public static void Mean(double a, double b, double c,
            double d, double e, ref double  mean) // ref 키워드 사용
        {
            mean = (a + b + c + d + e) / 5;
 
            
        }
 
 
    }
}

값에 의한 전달이 아닌 ref 키워드로 참조에 의한 전달로 Mean메소드에 mean이 아닌 Main에 mean으로 전달

 

3. 다음 코드에 Plue() 메소드가 double 형 매개 변수를 지원하도록 오버로딩하세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using static System.Console;
using System.Text;
using System.IO;
 
namespace baekjoon
{
    class MainApp
    {
        static void Main()
        {
            int a = 3;
            int b = 4;
            int resultA = 0;
 
            Plus(a, b, out resultA);
            WriteLine($"{a} + {b} = {resultA}");
            double x = 2.4;
            double y = 3.1;
            double resultB = 0;
 
            Plus(x, y, out resultB);
 
            WriteLine($"{x} + {y} = {resultB}");
 
 
        }
        static void Plus(int a, int b, out int c)
        {
            c = a + b;
        }
 
        static void Plus(double a, double b, out double c)
        {
            c = a + b;
        }
    }
}
반응형