100제 [기초 - 조건/선택실행구조] 1065~1070
- 세 정수 a, b, c가 입력되었을 때, 짝수만 출력해보자.
#include <stdio.h> int main() { unsigned int x,y,z; scanf("%d %d %d",&x,&y,&z); if(x%2==0) printf("%d\n",x); if(y%2==0) printf("%d\n",y); if(z%2==0) printf("%d\n",z); return 0; }
세정수에 대해서 하나하나씩 조건문을 걸어줌
- 세 정수 a, b, c가 입력되었을 때, 짝(even)/홀(odd)을 출력해보자.
#include <stdio.h> int main() { int x,y,z; scanf("%d %d %d",&x,&y,&z); if(x%2==0) printf("even\n"); else printf("odd\n"); if(y%2==0) printf("even\n"); else printf("odd\n"); if(z%2==0) printf("even\n"); else printf("odd\n"); return 0; }
전 문제에서 else를 붙여서 홀수일떄 odd를 출력을 더했다.
- 정수 1개가 입력되었을 때, 음(minus)/양(plus)과 짝(even)/홀(odd)을 출력해보자.
#include <stdio.h> int main() { int x; scanf("%d",&x); if(x<0) printf("minus\n"); else printf("plus\n"); if(x%2==0) printf("even"); else printf("odd"); return 0; }
- 점수(정수, 0 ~ 100)를 입력받아 평가를 출력해보자.
평가 기준
점수 범위 : 평가
90 ~ 100 : A
70 ~ 89 : B
40 ~ 69 : C
0 ~ 39 : D
로 평가되어야 한다.#include <stdio.h> int main() { int x; scanf("%d",&x); if(x>=90 && x<=100) printf("A"); else if(x<90 && x>=70) printf("B"); else if(x<70 && x>=40) printf("C"); else printf("D"); return 0; }
학교에서 조건문배우면 꼭 이문제를 푼다. swtich case로도 풀수있다.
점수범위와 &&를 유의해서 조건문을 씌운다
- 평가를 문자(A, B, C, D, ...)로 입력받아 내용을 다르게 출력해보자.
평가 내용
평가 : 내용
A : best!!!
B : good!!
C : run!
D : slowly~
나머지 문자들 : what?#include <stdio.h> int main() { char c; scanf("%c",&c); switch(c) { case 'A' : printf("best!!!"); break; case 'B' : printf("good!!"); break; case 'C' : printf("run!"); break; case 'D' : printf("slowly~"); break; default : printf("what?"); break; } return 0; }
switch case문을 작성할때 유의할점은 각 case마다 출력을 내고싶다면 꼭 break;를 걸어줘야한다.
만약에 case문에서 break가 안걸려있으면 D를 받아도
best!!!good!!run!slowly~으로 찍힌다. break를 걸지않으면 걸릴때까지 출력해버린다. 이런상황을 fall through 라고 부른다네요...
그리고 맞는 case가 없을때는 default case로 실행이된다.
- 월이 입력될 때 계절 이름이 출력되도록 해보자.
예
월 : 계절 이름
12, 1, 2 : winter
3, 4, 5 : spring
6, 7, 8 : summer
9, 10, 11 : fall
참고
swtich( ).. case ... break; 제어문에서
break;를 제거하면 멈추지 않고 다음 명령이 실행되는 특성을 이용할 수 있다.#include <stdio.h> int main() { int x; scanf("%d",&x); switch(x) { case 12 : case 1 : case 2 : printf("winter"); break; case 3 : case 4 : case 5: printf("spring"); break; case 6 : case 7 : case 8 : printf("summer"); break; case 9 : case 10 : case 11 : printf("fall"); break; } return 0; }
우리는 fall through를 이용할수있다, 바로 이예제처럼
12,1,2는 겨울이기때문에 12,1는 패스해버리고 2에서 winter를 출력하고, break를 걸어버리면
12,1,2모두 겨울로 처리된다.
Author And Source
이 문제에 관하여(100제 [기초 - 조건/선택실행구조] 1065~1070), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jychan99/CodeUp-C언어-기초-100제-기초-조건선택실행구조-10651070저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)