Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 쉼표필요
- JavaScript
- eslint 쉼표필요 오류
- getchar()
- perpect C
- perpectC
- 평균
- 3판
- putchar()
- 백엔드 개발자 #로드맵
- 연습문제
- 점프 투 파이썬 #패키지 # 비전공자
- Chapter3
- 3장
- () (+) 차이
- 원 면적
- 실습예제
- 티스토리 커버이미지 변경
- 정답
- eslint
- 오류
- 비트마스크
- 합
- 풀이
- 3강
- 원 둘레
- +연산자 의미
- ㅔㄴ트 안잉
- c
- PERPECT
Archives
- Today
- Total
옥수수와 식빵 그리고 코딩
6장 실전예제 본문
p.7 현재 온도에 따른 폭염 주의 발령
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double temperature;
printf("현재온도 입력: ");
scanf("%lf", &temperature);
if (temperature >= 30.0) {
printf("폭염 주의보를 발령합니다.\n");
printf("건강에 유의하세요.\n");
}
printf("현재온도는 섭씨 %.2f 입니다.\n", temperature);
return 0;
}
p.9 조건 if else로 짝수와 홀수 판정
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int n;
printf("정수 입력: ");
scanf("%d", &n);
if (n % 2) {
printf("홀수\n");
}
else {
printf("짝수\n");
}
(n % 2) ? printf("홀수\n") : printf("짝수\n");
return 0;
}
p.11 조건 if else문으로 평균평점에 따른 적정 구문 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double gpa;
printf("평균평점 입력: ");
scanf("%lf", &gpa);
if (gpa >= 4.3) {
printf("최우등\n");
}
else if (gpa >= 3.8) {
printf("우등\n");
}
else if (gpa >= 3.0) {
printf("우수\n");
}
else
printf("3.0미만\n");
return 0;
}
p.12
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int type, point;
printf("번호를 선택: 1, 2: ");
scanf("%d", &type);
printf("필기시험 점수 입력: ");
scanf("%d", &point);
if (type == 1) {
if (point >= 70)
printf("1종면허 합격\n");
else
printf("1종면허 불합격\n");
}
else if (type == 2) {
if (point >= 60)
printf("2종 면허 합격\n");
else
printf("2종 면허 불합격\n");
}
return 0;
}
p.13 else와 if를 조합하여 나이에 따른 선택
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int age = 0;
printf("당신의 나이는: ");
scanf("%d", &age);
if (age >= 20) {
if (age >= 65)
printf("단신은 어르신\n");
else
printf("당신은 성인\n");
}
else {
printf("당신은 미성년자\n");
}
return 0;
}
p. 입력받은 세 정수의 최댓값 출력(if else)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int x, y, z;
printf("세 정수를 입력: ");
scanf("%d %d %d", &x, &y, &z);
if (x > y) {
if (x > z)
printf("최대 수: %d\n", x);
else
printf("최대 수: %d\n", z);
}
else
{
if (y > z)
printf("최대 수 : %d\n", y);
else
printf("최대 수 : %d\n", z);
}
return 0;
}
p. 17 switch로 두 실수의 사칙연산
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double x, y;
int op;
printf("두 실수 입력: ");
scanf("%lf %lf", &x, &y);
printf("연산종류 번호 선택 1(+), 2(-), 3(*), 4(/): ");
scanf("%d", &op);
switch (op) {
case 1:
printf("%.2f + %.2f = %.2f\n", x, y, x + y);
break;
case 2:
printf("%.2f - %.2f = %.2f\n", x, y, x - y);
break;
case 3:
printf("%.2f * %.2f = %.2f\n", x, y, x * y);
break;
case 4:
printf("%.2f / %.2f = %.2f\n", x, y, x / y);
break;
default:
printf("번호를 잘못 선택했습니다.\n");
break;
}
return 0;
}
op반환형을 char로 바꿔서 case(value)의 value값도 '+'처럼 바꾸어 실행해보기
실행 돼야 하는데 실행안됨.. 다시 해보기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double x, y;
char op;
printf("두 실수 입력: ");
scanf("%lf %lf", &x, &y);
printf("연산종류 선택 +, -, *, /: ");
scanf("%c", &op);
switch (op) {
case '+':
printf("%.2f + %.2f = %.2f\n", x, y, x + y);
break;
case '-':
printf("%.2f - %.2f = %.2f\n", x, y, x - y);
break;
case '*':
printf("%.2f * %.2f = %.2f\n", x, y, x * y);
break;
case '/':
printf("%.2f / %.2f = %.2f\n", x, y, x / y);
break;
default:
printf("번호를 잘못 선택했습니다.\n");
break;
}
return 0;
}
첫번째 scanf할때 엔터를 치는데 그 엔터가 두번째 scanf에서 인식을 해버린다.
그 엔터가 두번째 scanf에서 인식을 해버린다.
그래서 다음에 바로 scanf할때 %c로 문자를 입력받아야 하는데 개행 문자를 받아버려서 +-*/를 입력 못하는 것.
scanf 두개 사이에 getchar();를 넣어서 입력버퍼 안에 \n을 빼주면 됨.
라고 튜터님이 알려주심!
수정 결과 - 잘 됨
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double x, y;
char op;
printf("두 실수 입력: ");
scanf("%lf %lf", &x, &y);
getchar(); //입력 버퍼 안의 \n을 빼 줌
printf("연산종류 선택 +, -, *, /: ");
scanf("%c", &op);
switch (op) {
case '+':
printf("%.2f + %.2f = %.2f\n", x, y, x + y);
break;
case '-':
printf("%.2f - %.2f = %.2f\n", x, y, x - y);
break;
case '*':
printf("%.2f * %.2f = %.2f\n", x, y, x * y);
break;
case '/':
printf("%.2f / %.2f = %.2f\n", x, y, x / y);
break;
default:
printf("번호를 잘못 선택했습니다.\n");
break;
}
return 0;
}
p.18 월에 따른 사계절 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int month;
printf("월을 입력: ");
scanf("%d", &month);
switch (month) {
case 4: case 5:
printf("%d월은 봄입니다.\n", month);
break;
case 6: case 7: case 8:
printf("%d월은 여름입니다.\n", month);
break;
case 9: case 10: case 11:
printf("%d월은 가을입니다.\n", month);
break;
case 12: case 1: case 2: case 3:
printf("%d월은 겨울입니다.\n", month);
break;
default:
printf("월을 잘못 입력했씁니다.\n");
}
return 0;
}
p.19
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int score;
printf("점수 입력: ");
scanf("%d", &score);
switch (score / 10) {
case 10: case 9:
printf("점수가 %d 점으로 성적이 %c 입니다.\n", score, 'A');
break;
case 8:
printf("점수가 %d 점으로 성적이 %c 입니다.\n", score, 'B');
break;
case 7:
printf("점수가 %d 점으로 성적이 %c 입니다.\n", score, 'C');
break;
case 6:
printf("점수가 %d 점으로 성적이 %c 입니다.\n", score, 'D');
break;
default:
printf("점수가 %d 점으로 성적이 %c 입니다.\n", score, 'F');
}
return 0;
}
p.21 너비를 입력받아 switch문으로 삼각형 사각형 넓이 출력
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
enum shape {TRIANGLE = 1, RECTANGLE};
int input;
double width, height;
printf("삼각형[1], 사각형[2] 중의 번호 하나 선택: ");
scanf("%d", &input);
printf("너비와 높이를 입력: ");
scanf("%lf %lf", &width, &height);
printf("가로: %.2lf, 세로: %.2lf \n", width, height);
switch (input) {
case 1:
printf("삼각형 면적: %.2lf\n", width * height / 2);
break;
case RECTANGLE:
printf("사각형 면적: %.2lf\n", width* height);
break;
default:
printf("잘못된 입력 \n");
}
return 0;
}
p.
p.
p.
p.
'C > 2021겨울계절 - 프로그래밍 이해' 카테고리의 다른 글
if else를 이용한 연봉 계산 (0) | 2021.12.29 |
---|---|
7장 실습예제 (0) | 2021.12.29 |
5장 실습예제 (0) | 2021.12.27 |
4장 실습예제 (0) | 2021.12.27 |
3장 실습예제 (0) | 2021.12.24 |
Comments