본문 바로가기

codeup57

1069. 평가 입력 받아 다르게 출력하기 평가를 문자(A, B, C, D, ...)로 입력받아 내용을 다르게 출력해보자. 평가 내용 평가 : 내용 A : best!!! B : good!! C : run! D : slowly~ 나머지 문자들 : what? 참고 조건/선택문을 복합적으로 구성해 출력할 수도 있지만, switch(정수값) { case 'A': //문자 'A'가 정수값 65('A'의 아스키 값)로 저장되기 때문에 가능하다. ...; break; case 'B': ...; break; case 'C': ...; break; default: ...; } 위와 같은 switch( ) ... case... break; 제어문을 사용할 수 있다. ** break; 를 사용하지 않으면 이후의 명령들도 계속 실행된다. default: 는 제시된 c.. 2023. 4. 13.
1068. 정수 1개 입력 받아 평가 출력하기 점수(정수, 0 ~ 100)를 입력받아 평가를 출력해보자. 평가 기준 점수 범위 : 평가 90 ~ 100 : A 70 ~ 89 : B 40 ~ 69 : C 0 ~ 39 : D 로 평가되어야 한다. 참고 여러 조건들을 순서대로 비교하면서 처리하기 위해서 조건문을 중첩할 수 있다. 만약, 순서대로 검사하고 실행하기 위해 아래와 같이 중첩 시킨다면, if(조건1) { ... } else { if(조건2) { ... } else { ... } } 중첩된 구조는 논리적으로 1단위이기 때문에 코드블록 기호를 생략하면 아래와 같은 구조로 다시 표현될 수 있다. if(조건1) { ... ; } else if(조건2) { ... ; } else { ...; } 이와 같이 조건을 계속 붙여나가면.. if(조건1) { .... 2023. 4. 12.
1067. 정수 1개 입력 받아 분석하기 정수 1개가 입력되었을 때, 음(minus)/양(plus)과 짝(even)/홀(odd)을 출력해보자. 참고 조건/선택 실행 구조의 안에 조건/선택 실행 구조를 다시 "중첩"할 수 있다. 이는 "중첩(nested)"의 원리가 적용되는 내용으로 아래와 같은 구조가 가능하다. if(조건1) { if(조건2) //조건문의 중첩 { ... } else { ... } } else { if(조건2) { ... } else { ... } } 위와 같은 조건/선택 실행구조는 조건/선택 실행구조를 중첩해 서로 다른 4가지(2가지*2가지)의 경우에 대해 다른 실행을 할 수 있도록 해준다. ** 어떤 조건들이 맞았을 때에는 해당부분의 코드블록 내용만 실행되고, 전체 조건/선택 실행구조를 빠져나간다. 즉, 다른 부분들은 실행되.. 2023. 4. 11.
1066. 정수 3개 입력 받아 짝/홀 출력하기 세 정수 a, b, c가 입력되었을 때, 짝(even)/홀(odd)을 출력해보자. 참고 if(조건) { //코드블록1 시작 ... 실행...; ... } else { //코드블록2 시작 ... 다른실행...; ... } 의 조건/선택 실행구조는 주어진 “조건”을 검사해 참인 경우에는 코드블록1을 실행하고, 거짓인 경우에는 코드블록2를 실행한다. 예시 if(a%2==0) { printf(“even”); } else { printf(“odd”); } ** else는 if 없이 혼자 사용되지 않는다. 또한, else 다음에 조건이 없는 이유는? 참이 아니면 거짓이고, 거짓이 아니면 참이기 때문에... 즉 if문의 조건식의 판별 결과는 2가지 경우(참 또는 거짓)로 계산되는데, else 부분은 if문의 조건식의.. 2023. 4. 10.
1065. 정수 3개 입력 받아 짝수만 출력하기 세 정수 a, b, c가 입력되었을 때, 짝수만 출력해보자. 참고 if(조건) { //조건이 참일 때에만 실행되는 구역(코드블록의 시작) 실행1; 실행2; ... } //코드블록의 끝 의 조건/선택 실행 구조는 주어진 “조건”을 검사해 그 결과가 참인 경우에만 코드블록 안에 작성된 내용들을 순서대로 실행한다. 예시 if(a%2==0) { printf(“%d”, a); } if(b%2==0) { printf(“%d”, b); } if(c%2==0) { printf(“%d”, c); } ** a%2==0 은 a%2가 먼저 수행되고 그 결과를 0과 비교한 참/거짓 값을 계산한다. a%2==0의 의미는 a를 2로 나눈 나머지를 0과 비교한 결과 값(참/거짓)이다. 따라서, if(a%2 == 0) 는 “a가 짝수.. 2023. 4. 9.
1064. 정수 3개 입력 받아 가장 작은 수 출력하기 1입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자. 단, 조건문을 사용하지 않고 3항 연산자 ? 를 사용한다. 참고 C언어 소스코드 작성시 모든 요소들은 "순서에 따라 한 단계씩 실행" "미리 정해진 순서에 따라 하나씩 연산 수행" "그 때까지 연산된 결과를 이용해 다시 순서에 따라 하나씩 연산" ... 등의 원리가 적용된다. 따라서 3항 연산자 ? 를 중첩해(괄호로 묶는 등..) 이용하면 여러 값들을 순서대로 비교해 가장 큰/작은 값을 계산할 수 있다. 예를 들어 (a>b ? a:b)>c ? (a>b ? a:b):c 의 계산식은 a, b, c 의 값 중 가장 큰 값으로 계산된다. 잘 이해가 되지 않는다면 어떤 순서에 따라 계산될지 생각해보고 여러 가지 연산자가 동시에 사.. 2023. 4. 9.