반응형

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;

 

<이상>

 

반응형

+ Recent posts