문제
사용자가 점수들을 입력하면 그 점수들을 정렬하는 문제입니다 이를 해결하는 프로그램의 다음 실행상태에 대해 빈칸을 채우세요
프로그램의 실행순서 및 실행상태
1 public static void main( String[] args ) {
2 int[] scores = { 0, 0, 0 };
| | main() | |
| | [0] | [1] | [2] |
| scores | 0 | 0 | 0 |
0점 ~ 100점 사이의 점수를 입력하세요: 90
0점 ~ 100점 사이의 점수를 입력하세요: 89
0점 ~ 100점 사이의 점수를 입력하세요: 86
3 for ( int last = scores.length - 1; 0 < last; last-- ) {
4 for ( int index = 0; index < last; index++ ) {
| | main() | |
| | [0] | [1] | [2] |
| scores | 90 | 89 | 86 |
| last | 2 |
| index | 0 |
5 if ( scores[index] > scores[index+1] ) {
6 scores[index+1] = temp;
4 for ( int index = 0; index < last; index++ ) {
5 if ( scores[index] > scores[index+1] ) {
6 scores[index+1] = temp;
4 for ( int index = 0; index < last; index++ ) {
3 for ( int last = scores.length - 1; 0 < last; last-- ) {
4 for ( int index = 0; index < last; index++ ) {
5 if ( scores[index] > scores[index+1] ) {
6 scores[index+1] = temp;
4 for ( int index = 0; index < last; index++ ) {
3 for ( int last = scores.length - 1; 0 < last; last-- ) {
86 89 90
7 }
프로그램 코드
import java.util.Scanner;
public class ScoreSort
{
1 public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
2 int[] scores = { 0, 0, 0 };
for ( int index = 0; index < scores.length; index++ ) {
System.out.print( "0점 ~ 100점 사이의 점수를 입력하세요: " );
scores[index] = scan.nextInt();
}
3 for ( int last = scores.length - 1; 0 < last; last-- ) {
4 for ( int index = 0; index < last; index++ ) {
5 if ( scores[index] > scores[index+1] ) {
int temp = scores[index];
scores[index] = scores[index+1];
6 scores[index+1] = temp;
}
}
}
for ( int score : scores )
System.out.print( score + " " );
scan.close();
7 }
}