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로 변환