Computer Science/CS & data
[C언어] 든든한 C 프로그래밍 3판 4장 연습문제 답 풀이
흔한 학생
2023. 7. 3. 14:55
[4-2]
#include <stdio.h>
#pragma warning(disable:4996)
#define PI 3.14159
int main()
{
int radius;
printf("반지름 ? ");
scanf("%d", &radius);
printf("반지름이 %d인 원의 둘레 : %lf\n", radius, 2 * PI * radius);
printf("반지름이 %d인 원의 넓이 : %lf\n", radius, PI * radius * radius);
return 0;
}
결과
반지름 ? 7
반지름이 7인 원의 둘레 : 43.982260
반지름이 7인 원의 넓이 : 153.937910
[4-8]
double로 계산된 값을 int로 바꿔 출력하기에 경고 메세지가 뜨며 컴파일이 안될 수 있다.
때문에 #define _CRT_SECURE_NO_WARNINGS 을 추가한다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{
char celsius;
int tmp, out;
printf("화씨이면 F, 섭씨이면 C 입력 ? ");
scanf("%c", &celsius);
celsius = toupper(celsius); //toupper : 대문자로 변경하는 함수
printf("%s 온도? ", celsius == 'F' ? "화씨" : "섭씨");
scanf("%d", &tmp);
//화씨 섭씨 구분하여 온도 계산
out = celsius == 'F' ? (tmp - 32) / 1.8 : tmp * 1.8 + 32;
//화씨 섭씨 구분하여 출력
printf("%s를 %s로 변환: %d", celsius=='F'?"화씨":"섭씨", celsius == 'F' ? "섭씨" : "화씨", out);
return 0;
}
결과
화씨이면 F, 섭씨이면 C 입력 ? f
화씨 온도? 100
화씨를 섭씨로 변환: 37
화씨이면 F, 섭씨이면 C 입력 ? c
섭씨 온도? 34
섭씨를 화씨로 변환: 93