타닥타닥 개발자의 일상

java자바 for문 이용해서 점수 입력 받고 평균,최고 점수 출력하기 본문

코딩 기록/Java

java자바 for문 이용해서 점수 입력 받고 평균,최고 점수 출력하기

NomadHaven 2021. 12. 9. 00:19

문제

사용자가 원하는 학생수로 점수를 입력 받는다.
 총점, 평균 그리고 최고점수를 구한다.
 입력 받은 점수중에 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 = 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));

 

출력화면

몇명의 통계를 구하겠습니다?=5
1번째 점수= 30
2번째 점수= 60
3번째 점수= 70
4번째 점수= 60
5번째 점수= 80
[30, 60, 70, 60, 80]
합계:300
평균:60.0
최고점수:80
90점 이상 학생수:0

 

Comments