프로그래밍언어문법(C,C++,Python,JAVA)/문법

[선택제어문]점수를 등급으로 표현해 보자

파아란기쁨 2021. 12. 20. 09:38

문제) 4.5점 만점으로 하는 학교에서는 점수를 다음과 같이 등급으로 표현합니다.

그렇다면 여기서 자신의 점수를 입력 받아서 자신의 등급과 평점이 얼마인지 출력하는 프로그램을 만들어 봅시다.

 

입력예)

당신의 점수는 몇점입니까? 85

출력예)

당신의 등급은 B+ 이고 평점은 3.5 입니다.

 

C언어
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
43
44
45
46
47
48
49
50
51
52
53
 
#include <stdio.h>
#include <string.h>
using namespace std;
 
int main() {
 
    int score;
    char grade[10];
    double avg;
 
    printf("당신의 점수는 몇점입니까? ");
    scanf("%d",&score);
    if (score >= 95) {
        strcpy(grade,"A+");
        avg=4.5;
    }
    else if (score >= 90) {
        strcpy(grade,"A");
        avg=4.0;
    }
    else if (score >= 85) {
        strcpy(grade,"B+");
        avg=3.5;
    }
    else if (score >= 80) {
        strcpy(grade,"B");
        avg=3.0;
    }
    else if (score >= 75) {
        strcpy(grade,"C+");
        avg=2.5;
    }
    else if (score >= 70) {
        strcpy(grade,"C");
        avg=2.0;
    }
    else if (score >= 65) {
        strcpy(grade,"D+");
        avg=1.5;
    }
    else if (score >= 60) {
        strcpy(grade,"D");
        avg=1.0;
    }
    else {
        strcpy(grade,"F");
        avg=0.0;
    }
    printf("당신의 등급은 %s 이고 평점은 %.1f 입니다. \n",grade,avg);
 
    return 0;
}
cs

 

C++ 
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
 
using namespace std;
 
int main() {
 
    int score;
    string grade;
    double avg;
 
    cout << "당신의 점수는 몇점입니까? ";
 
    cin >> score;
    if (score >= 95) {
        grade="A+";
        avg=4.5;
    }
    else if (score >= 90) {
        grade="A";
        avg=4.0;
    }
    else if (score >= 85) {
        grade="B+";
        avg=3.5;
    }
    else if (score >= 80) {
        grade="B";
        avg=3.0;
    }
    else if (score >= 75) {
        grade="C+";
        avg=2.5;
    }
    else if (score >= 70) {
        grade="C";
        avg=2.0;
    }
    else if (score >= 65) {
        grade="D+";
        avg=1.5;
    }
    else if (score >= 60) {
        grade="D";
        avg=1.0;
    }
    else {
        grade="F";
        avg=0.0;
    }
    cout << fixed; //고정
    cout.precision(1); //소수점 1자리
 
    cout << "당신의 등급은 " << grade << " 이고 평점은 " << avg << " 입니다. \n";
 
    return 0;
}
 
cs

 

 

C# 
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
 
namespace ConsoleApp2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("당신의 점수는 몇점입니까? ");
            String str = Console.ReadLine();
            String grade;
            double avg;
            int score = int.Parse(str);
            if (score >= 95)
            {
                grade = "A+";
                avg = 4.5;
            }
            else if (score >= 90)
            {
                grade = "A";
                avg = 4.0;
            }
            else if (score >= 85)
            {
                grade = "B+";
                avg = 3.5;
            }
            else if (score >= 80)
            {
                grade = "B";
                avg = 3.0;
            }
            else if (score >= 75)
            {
                grade = "C+";
                avg = 2.5;
            }
            else if (score >= 70)
            {
                grade = "C";
                avg = 2.0;
            }
            else if (score >= 65)
            {
                grade = "D+";
                avg = 1.5;
            }
            else if (score >= 60)
            {
                grade = "D";
                avg = 1.0;
            }
            else
            {
                grade = "F";
                avg = 0.0;
            }
            Console.WriteLine(string.Format("당신의 등급은 {0} 이고 평점은 {1:0.0} 입니다. ", grade, avg));
        }
    }
}
 
cs

 

Python3
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
 
score = int(input("당신의 점수는 몇점입니까? "))
if (score >= 95):
    grade = "A+"
    avg = 4.5
elif (score >= 90):
    grade = "A"
    avg = 4.0
elif (score >= 85):
    grade = "B+"
    avg = 3.5
elif (score >= 80):
    grade = "B";
    avg = 3.0;
elif (score >= 75):
    grade = "C+"
    avg = 2.5
elif (score >= 70):
    grade = "C"
    avg = 2.0
elif (score >= 65):
    grade = "D+"
    avg = 1.5
elif (score >= 60):
    grade = "D"
    avg = 1.0
else :
    grade = "F";
    avg = 0.0;
print("당신의 등급은 %s 이고 평점은 %.1f 입니다. "%(grade,avg))
cs

 

 

JAVA
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.text.DecimalFormat;
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int score; 
        String grade;
        double avg;
        
        System.out.printf("당신의 점수는 몇점입니까? ");
        Scanner scan = new Scanner(System.in);
        score= scan.nextInt();// 정수를 입력받는다.
        if (score >= 95) {
            grade="A+";
            avg=4.5;
        }
        else if (score >= 90) {
            grade="A";
            avg=4.0;
        }
        else if (score >= 85) {
            grade="B+";
            avg=3.5;
        }
        else if (score >= 80) {
            grade="B";
            avg=3.0;
        }
        else if (score >= 75) {
            grade="C+";
            avg=2.5;
        }
        else if (score >= 70) {
            grade="C";
            avg=2.0;
        }
        else if (score >= 65) {
            grade="D+";
            avg=1.5;
        }
        else if (score >= 60) {
            grade="D";
            avg=1.0;
        }
        else {
            grade="F";
            avg=0.0;
        }
        System.out.printf("당신의 등급은 %s 이고 평점은 %.1f 입니다. \n",grade,avg);
        
        
    }
 
}
 
cs

 

 


참이 아닌 조건에서 다시 판단을 하는 문제로 A등급을 판단할때 95점을 먼저 판단하고 95점 미만 데이터 중에서 90점 이상을 찾는 조건 즉(90~94) 사이의 점수를 찾는 조건문으로 if ~ else if ~ 문장으로 판단을 하게 됩니다.(단,파이썬에서는 if ~ elif ~)

이때 주의 해야 할것은

if(score >=95){

}

if(score >=90){

}

와 같이 if~ if~ 문과는 전혀 다르게 동작한다는 사실을 주의 하셔야 합니다.

============================================================================

이 문서는 C언어 문법 과정이 끝난 학생들 대상으로 다른 언어로 확장할때 어떻게 다른지 스스로 공부할 수 있도록 작성된 문서입니다.(단, 한가지 언어를 제대로 이해하지 않은 상태에서 다른 언어를 같이 배우는 것은 추천하지 않습니다. 언어의 문법 차이로 인하여 더욱 혼란이 가중될수 있으므로 한가지 언어를 정확히 익힌 후에 다른 언어로 확장하는 것을 추천합니다.)

 

오늘도 최선을 다하는 우리 학생들을 응원합니다.

 

인천 서구 검단신도시 원당컴퓨터학원

 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 사이버몰의 이용약관 바로가기