티스토리 뷰
jungol > 문제 > Langauge_Corder > 선택제어문 - 자가진단 5~6
자가진단 5
- 문제 조건
조건 1 : 입력 받은 두 수 둘 다 4.0 이상 -> A출력
조건 2 : 입력 받은 두 수 둘 다 3.0 이상 -> B출력
조건 3 : 위의 조건을 만족하지 않을 시 -> C출력
조건 1은 조건 2에 종속된다!
그러므로
- 9) if(a >= 3.0 && b >= 3.0) {
- 10) if(a >= 4.0 && b >= 4.0) {
조건 2에 조건 1을 종속시켰다!
조건 3은 나머지(else) (조건 1의 역) 이므로 조건 3)로 적었다.
(조건 1의 역 : 두 실수 중 하나라도 3.0이 아닌)
여기서 조건 2 을 조건 1에 종속시키긴 했으나
B와 A가 동시에 출력되는 오류를 방지하기 위해
goto문을 이용해서 (또는 return으로 바로 A을 출력하자마자 프로그램을 종료해도 된다!)
조건문(if문)을 바로 빠져나왔다!
goto
goto 는 포탈로 이해하시면 편하다.
모든 걸 다 무시하고 goto가 나오면 바로 연결된 곳으로 이동시킨다.
ex) goto A; (여기에서)
~~~~
~~~~
~~~~
(goto A; 와 A:사이의 모든 내용은 다 지나친다!)
A: (바로 여기로 이동)
return 0;
조건에 맞게 잘 실행된다!
자가진단 6
조건 1 : 입력받은 문자가 F 인지 M 인지
조건 2 : 정수가 18 이상인지 아닌지
위의 코드에서는 조건 1을 먼저 쓴 뒤
그다음 조건 2를 종속시켰다!
'F'는 아스키코드로 (10진법) 70
'M'은 아스키코드로 (10진법) 77
이므로
- 11) if(a == 77)
- 15) else if(a == 70)
조건 1은 이렇게 적을 수 있다!
(물론 굳이 15)에서 else을 할 이유는 없다)
- 12) if(b >= 18) printf("MAN\n");
- 13) else printf("BOY\n");
조건 2는 입력값이 18 이상 일 때와 그렇지 않을 경우를
if와 else로 표현했다.
아스키코드
(아스키코드란 미국에서
1960년 경 알파벳 특수문자 등을 7비트 내에서
주고받도록 만든 코드다)
여러 번 실행했을 때의 결과다!
코드
자가진단 5
#include <stdio.h>
int main(void)
{
float a = 0, b = 0;
scanf("%f", &a);
scanf("%f", &b);
if(a >= 3.0 && b >= 3.0) {
if(a >= 4.0 && b >= 4.0) {
printf("A\n");
goto A;
}
printf("B\n");
}
else printf("C\n");
A:
return 0;
}
자가진단 6
#include <stdio.h>
int main(void)
{
char a = 0;
int b = 0;
scanf(" %c", &a);
scanf("%d", &b);
if(a == 77) {
if(b >= 18) printf("MAN\n");
else printf("BOY\n");
}
if(a == 70) {
if(b >= 18) printf("WOMAN\n");
else printf("GIRL\n");
}
retrun 0;
}
'c언어 > jungol' 카테고리의 다른 글
c언어 선택제어문 형성평가 1~5 (jungol) (0) | 2022.02.26 |
---|---|
c언어 선택제어문 자가진단 7~9 (jungol) (0) | 2022.02.23 |
c언어 선택제어문 자가진단 1~4 (jungol) (0) | 2022.02.20 |
c언어 디버깅 형성평가 3~4 (jungol) (0) | 2022.02.19 |
c언어 디버깅 형성평가 1~2 (jungol) (0) | 2022.02.18 |
- Total
- Today
- Yesterday
- Mo.s
- 최소 스패닝 트리
- 덱
- 6198
- DP
- 오프라인 쿼리
- 1835
- java
- 6198번
- DFS
- 카드
- BFS
- 백준
- 그리디
- 1835번
- 누적합
- 최대공약수
- 그래프
- 스택
- Krustal
- 플로이드
- C언어
- find
- 세그먼트 트리
- 정렬
- 누적 합
- C++
- 트리
- 16120번
- union
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |