쉽게 풀어쓴 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;
}
댓글
댓글 쓰기