시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
시험 성적을 출력한다.
예제 입력 1
100
예제 출력 1
A
학교 수업 때 정말 많이 풀어본 문제!
이번엔 실수 없이 한 번에 맞춰보자 plz....!!!
#include <stdio.h>
int main() {
int score;
scanf("%d", &score);
if (score>=90 && score<=100) printf("A");
else if (score>=80 && score<90) printf("B");
else if (score>=70 && score<80) printf("C");
else if (score>=60 && score<70) printf("D");
else printf("F");
return 0;
}
왁 정말 오랜만에 한 번에 맞았다ㅠㅠ 감격....ㅋ큐ㅠㅠ
결과 나오는 데 오레 걸려서 또 컴파일 에러인 줄;
이번에는 C++로 코드를 짜볼까
(C++은 아직 자신이 없어서 어제 정리한 거 참고해서 작성!)
#include <iostream>
using namespace std;
int main() {
int score;
cin >> score;
if (score>=90 && score<=100) cout << "A";
else if (score>=80 && score<90) cout << "B";
else if (score>=70 && score<80) cout << "C";
else if (score>=60 && score<70) cout << "D";
else cout << "F";
return 0;
}
C++에서도 논리곱 AND 연산자로 &&를 쓰는군요.
와 제가 왜 이걸 못 떠올렸을까요.
else if 쓰면 어차피 이미 지나온 else 또는 else if문에서 조건이 한 번 걸러지니 아래와 같이 코드를 더 짧게 작성할 수도 있습니다.
#include <iostream>
using namespace std;
int main() {
int score;
cin >> score;
if (score>=90 && score<=100) cout << "A";
else if (score>=80) cout << "B";
else if (score>=70) cout << "C";
else if (score>=60) cout << "D";
else cout << "F";
return 0;
}
훨씬 나은 것 같아요!
이번 기회에 if문을 좀더 효율적으로 작성하는 소소한 방법을 다시 떠올리고 갑니다ㅎ