알버트의 개발하는 블로그

C 언어 / C++ 언어 제19강 메모리 동적 할당 이용하여 숫자 입력받고 평균 구하기 본문

프로그래밍 언어/C & C++

C 언어 / C++ 언어 제19강 메모리 동적 할당 이용하여 숫자 입력받고 평균 구하기

알버트 2021. 4. 30. 09:39

 

이번 시간에는 좀 간단한 프로그램을 코딩해보겠습니다. 제가 자주 이용하는 '코딩도장'(http://codingdojang.com/)이라는 사이트에서 가져온 문제인데요. 원하는 숫자의 개수만큼 숫자를 입력하고 그 숫자들의 평균을 구해주는 프로그램입니다. 먼저, 원하는 숫자의 개수만큼 숫자를 입력하려면 메모리 동적 할당을 통해서 숫자만큼의 배열을 생성해주어야 할 것입니다.

 

 


코딩과 실행 결과

대표사진 삭제

사진 설명을 입력하세요.

코딩을 해보면 이와 같습니다. 숫자의 개수를 받는 변수 n, 합을 저장할 변수 sum, 평균을 저장할 변수 average가 선언합니다. scanf를 통해서 n의 값을 입력받습니다. 그리고 나서 이 부분이 이 코딩의 핵심이라고 볼 수 있습니다. 바로 int *array = new int[n]; 입니다. 메모리 동적 할당 기법을 이용해서 n만큼의 크기를 갖는 배열 array를 생성해줍니다.

그 다음에 숫자들을 입력받는데, for문을 이용해서 숫자들을 입력받고 합계를 구해줍니다.

average 평균값은 합계를 n으로 나눈 값이겠죠? 그래서 sum/n을 처리해주고 앞에 (double)을 붙이므로써 리턴값이 정수가 아니라 실수가 나올 수 있도록 해주는 것입니다. 그리고 나서 맨 마지막에 average를 출력해주면 평균값을 구할 수가 있습니다.

 

 

 

대표사진 삭제

사진 설명을 입력하세요.

프로그램이 이와 같이 실행됨을 알 수 있습니다. 10개의 숫자를 입력하고 싶어서 10을 입력하였고 그 다음에 10개의 숫자를 쭈욱 적었습니다. 그랬더니 10개의 숫자의 평균인 5.5가 출력되었음을 알 수 있습니다.

 

 

이처럼 메모리 동적 할당과 반복문을 이용하면 복잡해 보이는 프로그램도 효율적으로 짤 수 있습니다.

제가 가져온 문제는 코딩도장 (http://codingdojang.com)이라는

사이트에서 레벨1 난이도 문제인데요~ 이 사이트에 가면 여러 가지 프로그래밍 문제들을 보고 풀어볼 수 있답니다. ㅎㅎ 보면서 느끼는게 코딩의 고수들이 참 많더라고요~

 

읽어주셔서 감사합니다~