on
Java 3-5) for문 예제_ 값 입력받아 배열 동적할당, 합계 / 평균 / 최고...
Java 3-5) for문 예제_ 값 입력받아 배열 동적할당, 합계 / 평균 / 최고...
사용자가 원하는 학생 수로 점수를 입력받는다.
총점, 평균 그리고 최고점수를 구한다.
입력 받은 점수 중에서 90점 이상인 학생 수는 몇명인가?
그리고 그 점수들만을 새로운 배열에 저장하도록 한다.
* 기획하기
//변수와 배열 선언 및 초기화
// 입력
// 학생 수 몇명?
// 학생들의 점수 입력
// 총점
// 평균
// 최고점수
// 90점 이상 받은 학생 수(우등생 수)
// 우등생의 점수를 배열에 저장
// 결과 출력
//변수와 배열 선언 및 초기화 int count = 0; int number[] = null; // 동적할당을 해줘야하는 요소의 초기화는 null // 입력 // 학생 수 몇명? System.out.print("몇 명의 통계를 구하시겠습니까? = "); count = sc.nextInt(); // 할당 먼저 해주기 (동적할당) number = new int[count]; // 학생들의 점수 입력 for (int i = 0; i < number.length; i++) { System.out.print((i + 1) + "번째 점수 = "); number[i] = sc.nextInt(); } // 총점 int sum = 0; for (int i = 0; i < number.length; i++) { sum = sum + number[i]; } // 평균 double avg = (double)sum / number.length; // 최고점수 int max = number[0]; for (int i = 1; i < number.length; i++) { if(number[i] > max) { max = number[i]; } } // 90점 이상 받은 학생 수(우등생 수) int high = 0; for (int i = 0; i < number.length; i++) { if(number[i] >= 90) { high++; } } // 우등생의 점수를 배열에 저장 int highCount[] = new int[high]; int n = 0; for (int i = 0; i < number.length; i++) { if(number[i] >= 90) { highCount[n] = number[i]; n++; } } // 결과 출력 System.out.println(Arrays.toString(number)); System.out.println("합계 : " + sum); System.out.println("평균 : " + avg); System.out.println("최고점수 : " + max); System.out.println("90점이상 점수의 학생 수 : " + high); System.out.println(Arrays.toString(highCount));
from http://greencolin-developer.tistory.com/18 by ccl(A) rewrite - 2021-12-10 05:01:46