C언어: 윤성우 열혈 C프로그래밍 문제 08-1

Johnny Lee·2022년 9월 28일
0

C언어 복습

목록 보기
8/13
post-thumbnail

문제1

1이상 100미만의 정수 중에서 7의 배수와 9의 배수를 출력하는 프로그램을 작성해 보자. 단! 7의 배수이면서 동시에 9의 배수인 정수는 한번만 출력해야한다.

&&(AND) 와 if-else if 를 사용함


한번 부분별로 쪼개서 왜 이렇게 썼는지 설명하겠다.

면저 1에서 100사이에 있는 7의 배수와 9의 배수를 출력해야 하므로, 변수 num 을 설정해주고 반반복문 for문을 사용해서 num 증가할 수 있는 최대 숫자를 100으로 해 주었다.

for (초기식; 조건식; 증감식)

링크텍스트

문제에서 동시에 7과9의 배수인 숫자를 한번만 출력해야 하므로 &&(AND)논리연산자를 사용하여 서 작성하였다.

또한 7의 배수와 9의 배수도 따로 출력해야하므로, 그 밑으로 순서대로 적었다.

하지만 &&를 사용하면 문제는 코드의 길이가 좀 길지만,|| (OR) 비교 연산자를 사용한다면 더 간단하게 쓸 수 있다.

문제 2

두 개의 정수를 입력 받아서 두 수의 차를 출력하는 프로그램을 구현해 보자. 단, 무조건 큰 수에서 작은 수를 뺀 결과를 출력해야 한다. 예를 들어서 입력된 두 수가 순서에 상관없이 12와 5라면 7이 출력되어야 하고, 입력된 두 수가 순서에 상관없이 4와 16이라면 12가 출력되어야 한다. 즉, 출력결과는 무조건 0 이상이 되어야 한다.
if,else 문을 사용하여서 이 문제를 풀었다.

문제 3

학생의 전체 평균점수에 대한 학점을 출력하는 프로그램을 작성하자. 학생의 성적이 90점 이싱이면 A, 80 이상이면 B, 70점이상이면 C, 60점이상이면 D 그리고 그 미만이면 F다! 프로그램 실행 시 순서대로 국어, 영어,수학의 점수를 입력 받는다. 그리고는 평균을 구한 다음 그에 적절한 학점을 출력하면 된다.

문제 4

위에 문제 2를 if~else문을 이용해서 해결하였는가? 어떠한 형태로 해결했건 간에 조건 연산자를 이용하는 형태로 프로그램을 변경해 보자.

조건연산자란?

예를 들어 a=b ? 100:200; 이라고 할 경우 b 의 변수가 참인지 아닌지 구별을 한다. 여기서 b가 0이면 거짓 0이 아니면 참으로 구별을 한다. 거짓일 경우 a에 100이 할당이 되고, 참일 경우 200이 할당된다.

profile
You can always be better

0개의 댓글