쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 8-2

7.

#include <stdio.h>
#include <stdlib.h>

int b_rand();

int main(void) {

int answer, coin;
char c;

while (1) {

printf("앞면 또는 뒷면(1 또는 0):");
scanf("%d", &answer);

coin = b_rand();

if (coin == answer)
printf("맞았습니다.\n"); 

else
printf("틀렸습니다.\n");

printf("계속하시겠습니까?(y 또는 n):");
scanf(" %c", &c);

if (c == 'n')
break;
}
return 0;
}

int b_rand() {

return rand() % 2;

}

8.

#include <stdio.h>
#include <stdlib.h>

double f_rand();

int main(void) {

printf("%f\n", f_rand());
printf("%f\n", f_rand());
printf("%f\n", f_rand());
printf("%f\n", f_rand());
printf("%f\n", f_rand());
return 0;
}

double f_rand() {

return rand() / (double)RAND_MAX;
}

10.

#include <stdio.h>

int is_multiple(int n, int m);

int main(void) {

int x, y;

printf("첫번째 정수를 입력하시오:");
scanf("%d", &x);
printf("두번째 정수를 입력하시오:");
scanf("%d", &y);

if (is_multiple(x, y) == 1)
printf("%d는 %d의 배수입니다.\n", x, y);

else
printf("%d는 %d의 배수가 아닙니다.\n", x, y);

return 0;
}

int is_multiple(int n, int m) {

if (n % m == 0) return 1; else return 0;
}

11.

7.

#include <stdio.h>
#include <math.h>

double get_distance(double x1, double y1, double x2, double y2) {

return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}

int main(void) {

double x1, y1, x2, y2;

printf("첫번째 점의 좌표를 입력하시오:(x, y)");
scanf("%lf %lf", &x1, &y1);
printf("두번째 점의 좌표를 입력하시오:(x, y)");
scanf("%lf %lf", &x2, &y2);

printf("두점 사이의 거리는 %f입니다.", get_distance(x1, y1, x2, y2));
return 0;
}

12.

#include <stdio.h>

int main(void) {

int i, j;

for (i = 2; i < 100; i++) {
if (is_prime(i) == 1)
printf("%d\n", i);
}
return 0;
}

int is_prime(int x) {

int i;

for (i = 2; i < x; i++) {
if (x % i == 0) 
return 0;
}
return 1;
}

댓글

이 블로그의 인기 게시물

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 16-2

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 13-2

쉽게 풀어쓴 C언어 EXPRESS(개정 3판) - Chapter 12-3