C 코딩 알고리듬 정오표 및 추가 설명
[ 2021.05.06 기준]
23p. 첫줄에 설명문 추가합니다.
/* scanf_s() 함수는 지정 크기보다 긴 내용이 입력되면 무시한다. 빈 문자열 반환됨. */
25p. 설명문
/* scanf("%d", &num); */
39p. 추가 설명
[참고] 입력받은 x 변수 값을 1을 줄인(x--) 후에 x*x*x 연산을 이용할 수도 있습니다.
40p. while (num[i] < 0 && num[i] > 100)
--> while (num[i] < 0 || num[i] > 100)
47p. 추가 설명
[참고] pow 함수에 (int) 형변환을 시킨 이유
pow 함수의 원형은 다음과 같습니다.
double pow(double x, double y);
원형에 보이듯이, 반환형이 double이므로 이 반환값을 정수형으로 다루려면 (int) 형변환을 해야 합니다.
53p. 소스 코드에서
while(x <= 0 && y<=0) --> while(x <= 0 || y<=0)
55p. 참고에서 3번째 줄
--> 짝수 합은 그 범위에 들어간 짝수 개수 m을 이용하여, m x (m + 1)을 계산하면 구할 수 있습니다.
짝수 개수 m = n / 2
56p. 참고에서 3번째 줄
--> 홀수 합은 그 범위에 들어간 홀수 개수 m을 이용하여, m x m을 계산하면 구할 수 있습니다.
홀수 개수 m = (n + 1) / 2
62p. 다른 소스 코드 예
int a, b, c;
int mid;
//...
if(a>b) {
if(a>c)
if(b>c) mid = b;
else mid = c;
else mid = a;
} else { // b>=a
if(b>c)
if(a>c) mid = a;
else mid = c;
else mid = b;
}
71p. 추가 설명
[참고] 뒤 세자리를 구하는 다른 방법 (단, n은 정수형)
n - (n/1000)*1000
79p. 탄젠트(tan) 이용한 방법 소스 코드
#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
#define R(d) ((double)d * M_PI / 180.0)
int main() {
double h, x; // x: 40도일때 밑변 길이, h: 피라미드 높이
x = (tan(R(30)) * 100) / (tan(R(40)) - tan(R(30)));
printf("거리 x: %0.1fm\n", x);
h = tan(R(40))*x;
printf("높이 h: %.1fm\n", h);
return 0;
}
86p. 1,000을 넘어가는 --> 1000 이상인
87p. n < LIMIT ---> n <= LIMIT
88p. 소스 코드
while (my_money >= 0)
{
/* 7일차면... */
if((days % 7) == 0 && days > 0)
my_money -= 6000;
else
my_money -= 3000;
days++;
}
printf("....", days-1);
[힌트] (days % 7) == 0 && days > 0)
돌아오는 7일차인지 검사하는데, 0일은 제외합니다.
91p. isdigit()를 사용하지 않고 숫자형 문자인지 검사하기
if (phone[i] >= '0' && phone[i] <= '9')
119p 소스 코드 수정
if (quest == input) {
printf("정답입니다!\n");
break;
}
break; 문장을 return 0; 으로 수정합니다.
185p. 중간 부분
/* 이동방향에 벽이 있는지 검사 */
int wall_ahead() {
int ret = 0;
<이상>
'도서 안내' 카테고리의 다른 글
스크래치 코딩 알고리듬 정오표와 추가 설명 (0) | 2017.12.22 |
---|---|
도서 구매 안내 (0) | 2017.12.03 |
파이썬 코딩 알고리듬 소스 코드 - 수알치와 함께하는 프로그래밍 예제 (0) | 2017.08.11 |
스크래치 코딩 알고리듬 소스 코드 - 수알치와 함께하는 프로그래밍 예제 (0) | 2017.08.11 |
C 코딩 알고리듬 소스 코드 - 수알치와 함께하는 프로그래밍 예제 (0) | 2017.08.11 |