반응형

점수를 입력받을 score 배열 크기 5

순위를 매길 rank 배열 크기 5

 

8번째 줄 for문을 통해 점수를 총 5차례 입력 받습니다.

13번째 줄 : 입력받은 점수 5개를 출력해줍니다.

18번째 줄 : index를 임시저장변수로 두고 i번째 점수를 index에 저장한 후 

19번째 줄 : score[j]배열을 사용하여 index에 저장된 점수와 비교하여 index의 값이 더 작다면 순위가 낮아야하므로 1을 증가시킵니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Scanner sc = new Scanner(System.in);
        
        int[] score = new int[5];
        int[] rank = new int[5];
        
        int index = 0;
        
        for(int i=0; i<score.length; i++) {
            System.out.print(i + 1 + "번 점수 입력 : ");
            score[i] = sc.nextInt();
            rank[i] = 1;
        }
        for (int i=0; i<score.length; i++) {
            System.out.println(score[i] + " ");
        }
        
        System.out.println();
        for(int i=0; i < score.length; i++) {
            for (int j=0; j<score.length; j++) {
                index = score[i];
                if(score[j] > index) 
                    rank[i] += 1;
            }
        }
        System.out.println("결과는 ");
        for(int i =0; i<rank.length; i++) {
            System.out.println(score[i] + "점은 " + rank[i] + "등");

 

출력 결과

 

1
2
3
4
5
6
7
8
9
10
11
12
95 
75 
66 
84 
10 
 
결과는 
95점은 1등
75점은 3등
66점은 4등
84점은 2등
10점은 5등
반응형
반응형

키보드로 년과 월을 입력 받아 해당하는 년 월의 일 수를 출력하고 윤년인지 확인합니다.

윤년 해당 년도는 4의 배수입니다.

 

예를들어 2020년 2월이면 윤년이므로 "2020년 2월 날수 : 29일"을 출력

2019년 8월을 입력하면 윤년이 아니므로 "2019년 8월 날수 : 30일" 출력

 

year("년도") 값을 입력 받습니다.

month("월") 값을 입력 받습니다.

 

만약, 10번째 줄 if문에서 month의 값이 1보다 작거나 12보다 크다면 오류이므로 다시 입력해주라는 메세지를 출력해줍니다.

 

10번째 줄 if문이 참이라면 15번째 줄 if문으로 내려옵니다.

year의 값을 4로 나누었을때 나머지가 0이고 100으로 나누었을때 0이 아니고, 400으로 나누었을때 나머지가 0이면

윤년이므로 난수 29를 발생시킵니다.

 

18번째 줄에서 month의 값이 다음과 같은 홀수인 경우 31일을 출력하고, 짝수인 경우 30일을 출력해줍니다.

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
        int year, month, nalsu=0 ;
        Scanner sc = new Scanner(System.in);
                
        System.out.println("년 입력");
        year = sc.nextInt();
        
        System.out.println("월 입력");
        month = sc.nextInt();
        
        if(month < 1 || month > 12) {
            System.out.println("1 ~ 12 사이의 숫자를 입력하세요");
            System.exit(1);
        }
        
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
            nalsu = 29;
        
        switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 9:
        case 11:
            nalsu = 31;
            break;
            
        case 4:
        case 6:
        case 8:
        case 10:
        case 12:
            nalsu = 30;
            break;
                        
        }
        
        System.out.println(year + "년 " + month + "월 " + "날수 : " + nalsu);
                
        System.out.println("종료");
        
        sc.close();
 

 

반응형
반응형

3의 배수와 5의 배수의 개수와 그들의 합을 구하는 문제

 

 

int x, y = 0;    
int hap = 0;
    
    for(x=1; x<=100; x++) {
        if(x % 3 == 0 && x % 5 == 0) {
            y+=1;
            hap += x;
        }
    }
    System.out.println("개수 : " + y + " 합 : " + hap);
 
// 결과값
 
// 개수 : 6 합 : 315
 
 

 

 

변수 x와 y그리고 hap 의 값을 0으로 초기화시켜줍니다.

x는 수1의배수와 수2의 배수를 알기 위한 변수로 사용되고,

y는 그들의 개수를 누적해주는 역할을 합니다.

if문에서 x의 조건을 만족하는 경우 hap에 누적해줍니다.

 

for문과 if문을 이용

x의 값을 3으로 나는 나머지가 0이고

x의 값을 5로 나눈 나머지가 0이라면

개수(변수) y 는 숫자 1을 증가 시켜주고, 그 숫자를 hap에 누적해준다.

 

해당 과정을 x가 100이 될때까지 반복 수행할 수 있도록 합니다.

 

반응형
반응형

프로그래밍을 하는 사람들이라면 누구나 한번쯤은 해보았을법한 문제입니다.

2 x 1 = 2

2 x 2 = 4

.

.

.

2 x 9 = 18

이런식으로 9단까지 반복하는 문제입니다.

밑의 소스를 확인해보겠습니다.

 

i는 1부터 9까지 반복하고 j는 2부터 9까지 반복합니다.

i가 1일때 j는 2부터 9까지 가로로 출력해주고 내부 for문을 빠져나와서 외부 for문을 1증가시킵니다.

i가 2일때 j는 2부터 9까지 위와 같은 과정을 반복하고

i가 9까지 반복할 수 있도록 합니다.

 

for(i = 1; i <=9; i++) {
            for(j = 2; j <= 9; j++) {
                System.out.print(j + " * " + i + " = " + i*+ "   ");
            } System.out.println();
        }
 
 
// 결과값
 
// 2 * 1 = 2   3 * 1 = 3   4 * 1 = 4   5 * 1 = 5   6 * 1 = 6   7 * 1 = 7   8 * 1 = 8   9 * 1 = 9   
// 2 * 2 = 4   3 * 2 = 6   4 * 2 = 8   5 * 2 = 10   6 * 2 = 12   7 * 2 = 14   8 * 2 = 16   9 * 2 = 18   
// 2 * 3 = 6   3 * 3 = 9   4 * 3 = 12   5 * 3 = 15   6 * 3 = 18   7 * 3 = 21   8 * 3 = 24   9 * 3 = 27   
// 2 * 4 = 8   3 * 4 = 12   4 * 4 = 16   5 * 4 = 20   6 * 4 = 24   7 * 4 = 28   8 * 4 = 32   9 * 4 = 36   
// 2 * 5 = 10   3 * 5 = 15   4 * 5 = 20   5 * 5 = 25   6 * 5 = 30   7 * 5 = 35   8 * 5 = 40   9 * 5 = 45   
// 2 * 6 = 12   3 * 6 = 18   4 * 6 = 24   5 * 6 = 30   6 * 6 = 36   7 * 6 = 42   8 * 6 = 48   9 * 6 = 54   
// 2 * 7 = 14   3 * 7 = 21   4 * 7 = 28   5 * 7 = 35   6 * 7 = 42   7 * 7 = 49   8 * 7 = 56   9 * 7 = 63   
// 2 * 8 = 16   3 * 8 = 24   4 * 8 = 32   5 * 8 = 40   6 * 8 = 48   7 * 8 = 56   8 * 8 = 64   9 * 8 = 72   
// 2 * 9 = 18   3 * 9 = 27   4 * 9 = 36   5 * 9 = 45   6 * 9 = 54   7 * 9 = 63   8 * 9 = 72   9 * 9 = 81   

 

반응형

+ Recent posts