Taek
6. Exercises 본문
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 |