오늘의 백준

암영·2022년 5월 1일
0

오늘의 알고리즘

목록 보기
2/37

2022.05.01

9498번

문제
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

입력
첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

출력
시험 성적을 출력한다.

예제 입력 1
100
예제 출력 1
A

c언어 ver.

풀이과정?

1.계속 컴파일에러가 났다. c99로 진행할때는 scanf_s가 아니라 scanf로 진행해야 컴파일에러가 나지 않는다.
2.프로그램을 돌려보면 정상적으로 출력되는데 문제에 제출하면 계속 틀렸다고 나와서 결국 다른분의 정답을 참고했다.

정답

#include<stdio.h>  

int main()

{

 int a;

 scanf("%d", &a); 

 if(90 <= a && a <= 100){

  printf("A");

 }

 if(80 <= a && a <= 89){

  printf("B");

 }

 if(70 <= a && a <= 79){

  printf("C");

 }

 if(60 <= a && a <= 69){

  printf("D");

 }

 if(a > 100 || a < 60){

  printf("F");

 }


 

 return 0;
}

출처 https://blog.naver.com/hy00z133/222184569717

의문점 & 궁금한점

  1. 시험점수의 범위가 0이상 100이하의 값이다. 그렇다면 f를 받는 나머지 점수도 일단 0이상 100이하의 범위에 들어가는 건데 왜 100초과인 값도 f를 주는 출력을 맞다고 하는지 의문이다.
    2.왜 이 출력을 틀렸다고 하는지 궁금하다.
#include <stdio.h>
int main()
{
	int num;
	printf("시험점수를 입력하시오");
	scanf("%d", &num);
	if ((0 <= num) && (num <= 100))
	{
		if (num >= 90)
			printf("A");
		else if (num >= 80)
			printf("B");
		else if (num >= 70)
			printf("C");
		else if (num >= 60)
			printf("D");
		else
			printf("F");

	}


	return 0;
}

궁금한점 해결

1번은 이건 이렇게 해도 되고 저렇게 해도 맞다. 중요한건 2번...! 문제의 출력 디테일을 생각 해야한다. 그러니까

예제 입력 1
100
예제 출력 1
A

1)이렇게 출력하라고 명령했으니 무조건 이렇게 출력해야 한다.
2)비주얼 스튜디오만 컴파일러에서 scanf_s를 지원하지 않기 때문에 scanf를 써야하고 위에서 말한 디테일 문제 때문에 내가쓴 printf("시험점수를 입력하시오"); 를 지워야한다!

고친 정답

#include <stdio.h>
int main()
{
	int num;
	scanf("%d", &num);
	if ((0 <= num) && (num <= 100))
	{
		if (num >= 90)
			printf("A");
		else if (num >= 80)
			printf("B");
		else if (num >= 70)
			printf("C");
		else if (num >= 60)
			printf("D");
		else
			printf("F");

	}


	return 0;
}

python ver.

맞은 정답

a=int(input())

if (0<=a<=100):
    if a>=90:
        print('A')
    elif a>=80:
        print('B')
    elif a>=70:
        print('C')
    elif a>=60 :
        print('D')
    else:
        print('F')

헷갈렸던 점

파이썬은 중첩문을 쓸때 괄호를 쓰지않고 들여쓰기하면 된다.

profile
just do! -얼레벌레 굴러가는 공대생

0개의 댓글