더보기
더보기
코이 초등학교에 새로 부임하신 교장선생님은 어린 학생들의 행복감과 학생들의 성적 차이 관계를 알아보기로 했다.
그래서 이전 성적을 조사하여 학생들의 시험 점수 차이 변화를 알아보려고 한다.
예를 들어서 2016년 학생 8명의 점수가 다음과 같다고 하자.
27,35,92,75,42,53,29,87
그러면 가장 높은 점수는 92점이고 가장 낮은 점수는 27점이므로 점수의 최대 차이는 65이다.
한편 2017년 학생 8명의 점수가 다음과 같았다.
85,42,79,95,37,11,72,32
이때 가장 높은 점수는 95점이고 가장 낮은 점수는 11점이므로 점수의 최대 차이는 84이다.
N명 학생들의 점수가 주어졌을 때, 가장 높은 점수와 가장 낮은 점수의 차이를 구하는 프로그램을 작성하시오.
package code_up;
import java.util.Scanner;
// 4891
public class Happy {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n; // 학생 수
// 학생수 유효값 검사
while(true) {
System.out.print("학생 수를 입력하세요 2 ~ 1000 \n");
n = sc.nextInt();
if (n >= 2 && n <= 1000) {
break;
}
System.out.println("학생 수는 2 이상 1000 이하로 입력해야 합니다.");
}
// 점수 배열
int[] scores = new int[n];
// 점수 입력
System.out.println("학생들의 점수를 입력하세요:");
for (int i = 0; i < n; i++) {
scores[i] = sc.nextInt();
}
// 최대값 / 최소값 점수 변수 초기화
int max = scores[0];
int min = scores[0];
// 점수 비교를 통해 최대값, 최소값 찾기
for (int i = 1; i < n; i++) {
// 배열에 저장된 값이 max 값보다 크다면
if (scores[i] > max) {
// 해당 값을 max에 저장
max = scores[i];
}
// 배열에 저장된 값이 min 값보다 작다면
if (scores[i] < min) {
// 해당 값을 min에 저장
min = scores[i];
}
}
System.out.println("가장 높은 점수 : "+max);
System.out.println("가장 낮은 점수 : "+min);
System.out.println("두 점수의 차이 : "+(max-min));
sc.close();
}
}
'공부' 카테고리의 다른 글
[JAVA, Python] 프로그래머스 120583 중복된 숫자 개수 (0) | 2024.11.24 |
---|---|
JAVA와 C#의 차이점 (0) | 2024.11.24 |
클라우드 컴퓨팅, AWS (1) | 2024.11.20 |
자료구조 정리 (0) | 2024.11.18 |
시간복잡도 (2) | 2024.11.13 |