본문 바로가기

국비교육/국비교육 복습

Day07_array_Test07 : 성적의 총합, 평균, 등수 구하기 (배열의 활용 - count) (★★)

(Q) 우리반 학생들의 시험 성적은 다음과 같습니다
- 75점 / 92점 / 86점 / 65점 / 79점 / 95점 / 88점 / 86점 / 72점 / 77점
1. 전체 학생의 점수를 배열에 저장한 뒤 출력하세요
2. 전체 학생의 평균을 구하여 출력하세요
3. 성적 우수자(90점 이상)의 숫자를 카운트하여 출력하세요

4. 만약 이 반에 85점 이상이 전학을 왔다면 이 학생의 예상 등수는 몇등인지 출력하세요

 

 

package day07;

public class Day07_array_Test07 {

	public static void main(String[] args) {
		
		//배열 생성
		float[] array = new float[] {75, 92, 86, 65, 79, 95, 88, 86, 72, 77};
		
		
		// 1. 배열 출력
		for(int i = 0 ; i < array.length ; i ++) {
			System.out.println(array[i]);
		}
		
		
		// 2. 총합과 평균
		double sum = 0;
		for(int i = 0 ; i < array.length ; i ++) {
			sum += array[i];
		}
		
		double avg = sum / array.length;
		
		
		// 3. 성적 우수자(90점 이상)의 숫자 카운트 및 출력
		int count = 0;
		for(int i = 0 ; i < array.length ; i ++) {
			if(array[i] >= 90) {
				count ++;
			}
		}
		
		System.out.println("성적 우수자 : 총 " + count + "명");
		
		
		// 4. 이 반에 85점 이상의 학생이 전학을 왔을 때 예상 등수
		int newby = 85;
		int rank = 1;
		for(int i = 0 ; i < array.length ; i ++) {
			int meNewby = newby;
			if(meNewby < array[i]) {
				rank ++;
			}
		}
		
		System.out.println("예상 등수 : " + rank);
		
	}
}

 

 

★ 등수 계산 

- int me = 85; : 내 성적(기준 성적)을 입력한다

- int rank = 1; : 내 성적의 등수를 1등으로 둔다

- int meNewby = newby; : 내 성적을 비교를 위한 기준 성적으로 정한다

- if(meNewby > array[i]) : 만약 내 성적보다 남(array[i])의 점수가 높다면 rank를 +1 한다 (등수 밀림)

- 최종 등수(rank)를 출력한다