728x90
// 상황)
// 학생이 5명
// 우리반 학생의 총 점수 합
// 평균 점수는 ?
// 1등은 몇번인지 ?
int[] stu = new int[5];
stu[0] = 20;
stu[1] = 12;
stu[2] = 63;
stu[3] = 87;
stu[4] = 54;
// 라고 가정한다.
int sum = 0;
for(int i = 0; i < stu.length; i++) {
sum += stu[i];
}
System.out.print("우리반 학생의 총 점수 합은 >> " + sum);
System.out.println();
double avg = sum * 1.0 / stu.length;
System.out.print("평균 점수는 >> " + avg);
System.out.println();
int stuIndex = 0;
int max = stu[0];
for(int i = 1; i < stu.length; i++) {
if(max < stu[i]) {
max = stu[i];
stuIndex = i;
}
}
System.out.println("1등은 " + (stuIndex + 1) + "번 이다.");
System.out.println("1등 점수는 " + max + "이다.");
Console
우리반 학생의 총 점수 합은 >> 236
평균 점수는 >> 47.2
1등은 4번 이다.
1등 점수는 87이다.
짚고 넘어가야할 부분
1. 평균을 구할 때 형변환을 해주기.
1) 정수값 x 1.0
2) (double) sum / stu.length
(강제 형변환)
2. 최대값 알고리즘
(0번째 배열을 기준으로 잡기)
3. 1등 점수가 저장된 index를 기억할 변수 생성
4. stuIndex + 1
System.out.println("1등은 " + (stuIndex + 1) + "번 이다.");
배열은 0번 부터 시작한다.
(사람은 숫자를 1번부터 새기 때문에,,)
반응형
'Java (국비) > Java 문제' 카테고리의 다른 글
상속 문제 (0) | 2023.05.15 |
---|---|
자판기 프로그램 제작 2 (0) | 2023.05.12 |
자판기 프로그램 제작 1 (0) | 2023.05.12 |
배열 문제 3 (0) | 2023.05.07 |
배열 문제 2 (0) | 2023.05.06 |