/*==========================
■■■ 배 열 ■■■
===========================*/
// 배열의 기본적 활용
// ○ 과제
// 사용자로부터 임의의 학생 수를 입력받고
// 그만큼의 점수(정수 형태)를 입력받아
// 전체 학생 점수의 합, 평균, 편차를 구하여
// 결과를 출력하는 프로그램을 구현한다.
// 단, 배열을 활용하여 처리할 수 있도록 한다.
// 실행 예)
// 학생 수 입력 : 5
// 1번 학생의 점수 입력 : 90
// 2번 학생의 점수 입력 : 82
// 3번 학생의 점수 입력 : 64
// 4번 학생의 점수 입력 : 36
// 5번 학생의 점수 입력 : 98
// >> 합 : 370
// >> 평균 : 74.0
// >> 편차 :
// 90 : -16.0
// 82 : -8.0
// 65 : 10.0
// 36 : 38.0
// 98 : -24.0
import java.util.Scanner;
public class Test086
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
// 주요 변수 선언-------------------------------------
int stu; // 학생 수
// 사용자에게 학생 수 입력받을 메세지 출력
System.out.print("학생 수 입력 : ");
// 사용자가 입력할 변수 대입
stu = sc.nextInt();
int sum=0; // 총합담을 변수
int avg; // 평균담을 변수 (총합 / 학생수)
int def=0; // 편차담을 변수 (평균 - 해당학생점수)
int[] arr = new int[stu]; // - 점수 담을 배열
int[] arr2 = new int[stu]; // - 편차 담을 배열
// 연산 및 처리----------------------------------------
// 학생 수 만큼의 점수 입력메세지를 출력할 구문 생성(반복문)
for (int i=0; i<stu ;i++ )
{
System.out.printf("%d번 학생의 점수 입력 : ", (i+1));
arr[i] = sc.nextInt(); // 입력과 배열생성 동시에 이루어지게끔
sum += arr[i]; // 배열의 총합을 연산
}
System.out.println();
avg = sum / stu; // 평균 연산
// 배열 생성하여 학생의 점수단위로 편차 대입하기
for (int i = 0; i < stu ;i++ )
{
arr2[i] = avg - arr[i];
}
// 결과 출력
System.out.printf("\n >> 합 : %d\n", sum); // 누적합
System.out.printf(" >> 평균 : %d\n", avg); // 평균
System.out.printf(" >> 편차 : \n"); // 개행 출력 후
for (int i=0; i < arr.length ; i++)
{
System.out.printf("%d : %d\n", arr[i], arr2[i]); // 점수 : 편차의 형식을 갖는 배열출력
}
// 입출력 기능 : Scanner
}
}
// 실행 결과
/*
학생 수 입력 : 3
1번 학생의 점수 입력 : 100
2번 학생의 점수 입력 : 90
3번 학생의 점수 입력 : 80
>> 합 : 270
>> 평균 : 90
>> 편차 :
100 : -10
90 : 0
80 : 10
계속하려면 아무 키나 누르십시오 . . .
*/
728x90
'JAVA' 카테고리의 다른 글
Test088.java / 배열 / 2차원 배열(다중배열) (1) | 2022.09.10 |
---|---|
Test087.java / 배열 / 2차원 배열(다중배열) (0) | 2022.09.10 |
Test085.java / 배열 / 사용자로부터 임의의 정수를 임의의 갯수만큼 입력받아 가장 큰 수를 출력하는 프로그램 작성 (0) | 2022.09.10 |
Test084.java / 배열 / 사용자로부터 인원수를 입력받고 입력받은 인원수 만큼의 학생 이름과 전화번호를 입력받아, 배열로 구성 및 출력하기 (0) | 2022.09.10 |
Test083.java / 배열의 기본적 활용 / char 자료형의 배열 (0) | 2022.09.10 |
댓글