Taek

6. Exercises 본문

C언어/문제 정리

6. Exercises

Taeky 2018. 8. 5. 21:03

1. 1 2 4 8 16 32 64 128


2. 9384 938 93 9 0


3. 5 4 3 2 


4. c) 탈출 조건문 안에 i++라서 다르다.

printf("%d ", i);로 만들어보면 a) b)는 0 1 2 3 4 5 6 7 8 9이지만 

c)는 검사한 뒤 1을 증가시키기 때문에 1 2 3 4 5 6 7 8 9 10이 된다.


5. c)

while문과 for문은 조건(terminate condition)식을 검사한 뒤 실행한다. 그러나 do~while문은 무조건 한 번은 실행한다.


6. for(int i = 1 ; i < 128; i *= 2){

printf("%d ", i);

   }


7. for(int i = 9384; i > 0; i /= 10){

printf("%d ", i);

   }


8. 10 5 3 2 1 1 1 1 1 ... 1이 무한대로 반복된다.


9. 

int i = 10;

while(i >= 1) {

printf("%d ", i++);

i /= 2;

}


10. 

for(int i = 0; i < 10; ++i) {

printf("%d ", i);

}를 goto를 사용해 바꿔보면 


int i = -1;


start:

++i; printf("%d ", i);


if(i != 10) goto start;

else goto done;


done:


11. 25

i % 2가 0이면 false라서 sum에 더하면 되고, 나머지는 계속 진행한다. 따라서 홀수만 더하면 됨.

1+3+5+7+9=25. 따라서 25


12. 

소수를 판단하기 위해 제곱해서 같거나 낮으면 소수가 아니고, 높으면 소수로 바꾸면 된다.

for(d = 2; d*d<n ; ++d){

if(d * d <= n) printf("divisible number\n");

else printf("It is prime number\n");

}


13. for(n = 0; m > 0; n++, m /= 2) ;


14. if(n % 2 == 0) printf("n is even\n");

NULL statements가 있으니 지워야 한다.

'C언어 > 문제 정리' 카테고리의 다른 글

7. Exercises  (0) 2018.08.09
6. Programming Projects  (0) 2018.08.05
5. Programming Projects  (0) 2018.08.04
5. Exercises  (0) 2018.07.12
4. Programming Projects  (0) 2018.07.12