/*
- 학생 수를 입력 받는다 (1~80).
- 입력 받은 학생 수 만큼 점수를 입력 받는다 (0~100).
- 입력 받은 숫자를 점수대별로 저장한다.
- 저장 받은 점수대별 학생의 수를 *로 출력한다.
*/
//학생 수 입력 받기
var stuNum;
while (true) {
stuNum = +prompt(`학생 수를 입력해주세요.`);
if (stuNum >= 1 && stuNum <= 80) {
break;
}
alert('1~80 사이의 숫자를 입력하세요.');
}
alert(`${stuNum}명의 점수를 입력해주세요`);
//학생 점수 배열
var scoreList = [];
//분포 배열
var distributions = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
var num = 1; //학생번호
//학생들 점수 입력받기
while (scoreList.length < stuNum) {
var score = +prompt(`${num}번: `);
//입력점수 검증
if (score < 0 || score > 100) {
alert('0 ~ 100점 사이로 입력하세요!');
continue;
}
scoreList.push(score);
num++;
}
//분포 배열 완성하기 [0,0,2,1,0,1,0,1,1,2,2]
// scoreList[0] : 23 -> distributions[2]++ -> distributions[23/10]++
// scoreList[1] : 55 -> distributions[5]++ -> distributions[55/10]++
// scoreList[2] : 100 -> distributions[10]++ -> distributions[100/10]++
// scoreList[3] : 100 -> distributions[10]++
for (var i = 0; i < scoreList.length; i++) {
distributions[parseInt(scoreList[i] / 10)]++;
}
//[0,0,2,1,0,1,0,1,1,2,2]
// console.log(distributions);
var star = '';
for (var i = 0; i < distributions.length; i++) {
if (i < distributions.length - 1) {
star += `${i*10} ~ ${i*10+9} : `;
} else {
star += `100 : `;
}
for (var j = 0; j < distributions[i]; j++) {
star += '*';
}
star += '\n';
}
alert(star);
'javascript' 카테고리의 다른 글
javascript_배열 _ 3차원 배열22.04.28(day07) (0) | 2022.04.28 |
---|---|
javascript_배열 _ 2차원 배열22.04.27(day06) (0) | 2022.04.27 |
javascript_배열 메서드 연습문제(멤버이름삭제)22.04.27(day06) (0) | 2022.04.27 |
javascript_배열 메서드_22.04.27(day06) (0) | 2022.04.27 |
javascript_배열 메서드_22.04.26(day05) (0) | 2022.04.26 |