티스토리 뷰
jungol > 문제 > Langauge_Corder > 선택제어문 - 자가진단 1~4
자가진단 1
드디어 if 을 사용한다!
if()에서 () 안에는 조건을 넣을 수 있고
조건을 만족하면 if()옆의 코드가 실행되나,
아닐 경우엔 실행되지 않고 그냥 지나친다.
- 문제 조건
정수를 입력받되 음수 일 경우 minus를 출력
이번 문제는 정수를 입력받되 음수 일 경우
minus를 출력하는 것이기 때문에
if의 조건을 입력받는 (정수 < 0)으로
했다!
9) if(a < 0) printf("minus");
-> 입력받은 수가 0보다 작으면 -> minus을 출력
잘 작동한다!
자가진단 2
- 문제 조건
문제에선 키와 몸무게를 정수로 입력받고
몸무게+100-키의 값과
몸무게+100-키의 값이 0보다 크면
Obesity을 출력한다.
몸무게는 weight
키는 tall
로 변수를 만들어 받았다.
조건은
몸무게+100-키 > 0이므로
weight+100-tall>0가 되며
12) if(weight+100-tall>0) printf("Obesity");
이처럼 조건을 만족 시 Obesity을 출력하게 했다.
실행결과들을 보면
몸무게+100-키의 값이 출력되고
그 값이 0보다 크면 Obesity가 출력되는 것을 볼 수 있다!
자가진단 3
- 문제 조건
1) 입력 받은 수가 20 이상 adult출력
2) 입력 받은 수가 20 미만 20살까지 얼마나 남았는지를 출력 (남은 년도 years later)
if와 else
문제의 조건은 2개이나 하나로 퉁칠 수 있다!
입력 받은 수가 20 이상의 역은
20 미만 이므로
c언어에선 이를
if(입력받은 수>=20)
if(입력받은 수 < 20)
이렇게 따로따로 하도 되나
if(입력받은 수 >= 20)
else
이렇게 첫번째 조건의 역은 else로 간단히 쓸 수 있다.
else
else는 먼저 나온 조건과 반대인 조건을 이용할 때
사용한다.
여러번 실행했을 때의 결과다!
자가진단 4
이번에는 많은 조건문을 사용해야 한다!
한 문제에 대해서 여러 조건을 사용하려면
if else if else if...... else
이렇게 else if 을 사용하면 된다.
else if
else if은
첫 번째 if에서 사용했던 조건과는 부합되지 않되 다른 조건이라는 의미다.
(else는 나머지다)
그러므로 보통
if
else if
else if
else if
...
else
이런 식으로 여러 조건을 작성한다.
그래서 8~12줄을 보면
if, else if... else의 구조로 조건들을 적었다!
여기서 8, 9만 보면
8) if(a < 50.80)
9) else if(a <= 61.23)
에서 9)의 else if(a <= 61.23)과 그냥 if(a <= 61.23)은 다르다.
else if(a <= 61.23)에서
else은 a < 50.80의 역, 즉 a >= 50.80이며
이는 else if(a <= 61.23)가
if(a >= 50.80 && a<= 61.23)와 같음을 의미한다!
9) else if(a <= 61.23)
10) else if(a <= 72.57)
여기 10)의 else은 if(a <= 50.80)와 if(a <= 61.23)의 역이므로
else if(a <= 72.57)은
if(a >= 61.23 && a<= 72.57)이다!
잘 작동된다!
코드
자가진단 1
#include <stdio.h>
int main(void)
{
int a = 0;
scanf("%d", &a);
printf("%d\n", a);
if (a < 0) printf("minus");
return 0;
}
자가진단 2
#include <stdio.h>
int main(void)
{
int tall = 0;
int weight = 0;
scanf("%d", &tall);
scanf("%d", &weight);
printf("%d\n", weight+100-tall);
if (weight+100-tall>0) printf("Obesity\n");
return 0;
}
자가진단 3
#include <stdio.h>
int main(void)
{
int a = 0;
scanf("%d", &a);
if (a > 20) printf("adult\n");
else printf("%d years later", 20-a);
return 0;
}
자가진단 4
#include <stdio.h>
int main(void)
{
float a = 0.0;
scanf("%f", &a);
if (a < 50.80) printf("Flyweight\n");
else if (a < 61.23) printf("Lightweight\n");
else if (a < 72.57) printf("Middleweight\n");
else if (a < 88.45) printf("Crusierweight\n");
else printf("Heavyweight\n");
return 0;
}
'c언어 > jungol' 카테고리의 다른 글
c언어 선택제어문 자가진단 7~9 (jungol) (0) | 2022.02.23 |
---|---|
c언어 선택제어문 자가진단 5~6 (jungol) (0) | 2022.02.21 |
c언어 디버깅 형성평가 3~4 (jungol) (0) | 2022.02.19 |
c언어 디버깅 형성평가 1~2 (jungol) (0) | 2022.02.18 |
c언어 디버깅 - 자가진단 1~2 (jungol) (0) | 2022.02.17 |
- Total
- Today
- Yesterday
- 1835번
- BFS
- DP
- 오프라인 쿼리
- 최소 스패닝 트리
- 트리
- Mo.s
- C++
- 1835
- 누적 합
- 플로이드
- 그래프
- 덱
- Krustal
- DFS
- java
- 세그먼트 트리
- find
- C언어
- 정렬
- 6198
- 백준
- 6198번
- 그리디
- 스택
- 누적합
- union
- 16120번
- 최대공약수
- 카드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |