Unity 개발 일지/달리기반 퀘스트

배열을 사용한 합계 및 평균 계산

ohty20012 2025. 3. 28. 18:20
  • 변수 선언
  • 배열에 대한 이해
  • 산술 연산자 활용

주어진 숫자 배열의 합계와 평균을 계산하는 프로그램을 작성하세요.

 

<코드>

class Program {
    public static void Main() {
        int[] num = new int[5]; 
        int sum = 0;
        float avg = 0;

        Console.WriteLine(num.Length + "개의 정수를 입력해주세요.");
        for (int i = 0; i < num.Length; i++) {
            num[i] = int.Parse(Console.ReadLine());
        }

        for (int i = 0; i < num.Length; i++) {
            sum += num[i];
        }

        avg = sum / (float)num.Length;

        Console.WriteLine("sum : " + sum);
        Console.WriteLine("avg : " + avg);
    }
}

 

 

<결과>

 

 

 

<배열을 선언하는 방법>

 

  1. 크기를 지정하며 배열 선언

int[] numbers = new int[5]
  • 크기가 5인 int형 배열 numbers를 생성
  • 배열은 [0, 0, 0, 0, 0]으로 초기화 됨

 

  2. 배열 선언과 동시에 초기화

int[] numbers = new int[] {1, 2, 3, 4, 5};
  • 크기가 5인 int형 배열 numbers를 생성
  • 크기를 명시하지 않았지만 자동으로 크기 5의 배열 생성

 

  3. new 키워드를 생략한 간단한 초기화

int[] numbers = {1, 2, 3, 4, 5};
  • 타입을 명시했기 때문에 new 생략 가능.

 

 

<string 을 int로 변환>

 

  1. int.Parse()

string str = "123";
int num = int.Parse(str);
  • 가장 쉽게 string을 int로 변환 가능
  • 문자열이 null이거나, 숫자가 아니면 예외 발생

 

  2. Convert.ToInt32()

string str = "123";
int num = Conver.ToInt32(str);
  • 문자열이 null이면 0을 반환
  • 문자열이 숫자가 아니면 예외 발생

 

  3. int.TryParse()

string str = "123"
bool success = int.TryParse(str, out int num);
  • 예외 없이 안정적으로 변환 시도 가능
  • 문자열이 숫자가 아닐 경우 false 반환

 

 

<int 를 float로 변환>

 

  1. 암시적 형변환

int i = 10;
float f = i;
  • int → float 는 크기가 작은 타입에서 큰 타입으로 변환이기 때문에 자동으로 변환 가능

 

  2. 명시적 형변환

avg = sum / (float)num.Length;
  • 정수형 변수 num.Length 앞에 (float)를 붙여서 float 자료형으로 형변환
  • int와 int의 사칙연산의 결과는 int가 되고, 그 결과가 float로 변환되어 avg에 저장
  • 소수점 이하가 버려지기 때문에 float연산을 위해 두 변수 중 하나를 float로 변환