예전에 써뒀던 글인데 코드 복붙을 잘못해서 들여쓰기가 안되어 있습니다
개발도구에 코드 복붙하시고, 비주얼 스튜디오 기준 Ctrl + K + F를 하면 들여쓰기가 됩니다.
1번
#include <stdio.h>
double square(double x);
int main(void)
{
double m;
printf("정수를 입력하시오: ");
scanf("%lf", &m);
printf("주어진 정수 %lf의 제곱은 %lf입니다.", m, square(m));
return 0;
}
double square(double x)
{
double a;
a = x * x;
return a;
}
2번
#include <stdio.h>
void check_alpha(char a);
int main(void)
{
char ch;
printf("문자를 입력하시오: ");
ch = getchar();
check_alpha(ch);
return 0;
}
void check_alpha(char a)
{
int i;
for(i=97;i<=122;i++)
{
if (i == a)
{
printf("%c는 알파벳 문자입니다.", a);
}
}
}
3번
#include <stdio.h>
double cal_area(double radius);
int main(void)
{
double x;
printf("원의 반지름을 입력하시오:");
scanf("%lf", &x);
printf("원의 면적은 %lf입니다.", cal_area(x));
return 0;
}
double cal_area(double radius)
{
int area;
area = 3.141592 * radius * radius;
return area;
}
4번
#include <stdio.h>
int is_leap(int year);
int main(void)
{
int y;
printf("연도를 입력하시오: ");
scanf("%d", &y);
printf("%d년은 %d일입니다.", y, is_leap(y));
return 0;
}
int is_leap(int year)
{
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
{
return 366;
}
else
{
return 365;
}
}
5번
#include <stdio.h>
int round(double f);
int main(void)
{
double a;
printf("실수를 입력하시오: ");
scanf("%lf", &a);
printf("반올림한 값은 %d입니다.", round(a));
return 0;
}
int round(double f)
{
return (int)(f + 0.5);
}
6번
#include <stdio.h>
int even(int n);
int absolute(int n);
int sign(int n);
int main(void)
{
int a;
printf("정수를 입력하시오:");
scanf("%d", &a);
if (even(a) == 1)
{
printf("even()의 결과: 짝수\n");
}
else
{
printf("even()의 결과: 홀수\n");
}
printf("absolute()의 결과: %d\n", absolute(a));
if (sign(a) == 1)
{
printf("sign()의 결과: 양수\n");
}
else if(sign(a) == -1)
{
printf("sign()의 결과: 음수\n");
}
else
{
printf("sign()의 결과: 0\n");
}
return 0;
}
int even(int n)
{
if (n % 2 == 0)
{
return 1;
}
else
{
return 0;
}
}
int absolute(int n)
{
if (n < 0)
{
return n * -1;
}
else
{
return n;
}
}
int sign(int n)
{
if (n < 0)
{
return -1;
}
else if (n > 0)
{
return 1;
}
else
{
return 0;
}
}
7번
#include <stdio.h>
int get_tax(int income);
int main(void)
{
int a;
printf("소득을 입력하시오(만원):");
scanf("%d", &a);
printf("소득세는 %d입니다.", get_tax(a));
return 0;
}
int get_tax(int income)
{
if (income <= 1000)
{
return income * 0.08;
}
else
{
return 1000 * 0.08 + (income - 1000) * 0.1;
}
}
8번
#include <stdio.h>
#include<math.h>
double sin_degree(double degree);
int main(void)
{
double d;
for (d = 0; d <= 180; d += 10)
{
printf("sin(%lf)의 값은 %lf\n", d, sin_degree(d));
}
return 0;
}
double sin_degree(double degree)
{
double result;
result = sin((3.141592 * degree) / 180.0);
return result;
}
9번
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int b_rand();
int main(void)
{
int i;
srand(time(NULL));
for (i = 0; i < 10; i++) //책 문제에는 5번 호출하라고 써있으나 실행결과에는 10번 호출한 것으로 나와있으므로 10번 호출함
{
printf("%d ", b_rand());
}
return 0;
}
int b_rand()
{
return rand() % 2;
}
10번
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int b_rand();
int main(void)
{
int b;
char a;
srand(time(NULL));
while (1)
{
printf("앞면 또는 뒷면(1 또는 0):");
scanf("%c", &a);
b = b_rand();
if (a == '1')
{
if (b == 1)
{
printf("맞았습니다.\n");
}
else
{
printf("틀렸습니다.\n");
}
}
else if (a == '0')
{
if (b == 0)
{
printf("맞았습니다.\n");
}
else
{
printf("틀렸습니다.\n");
}
}
else if (a == 'n')
{
break;
}
}
return 0;
}
int b_rand()
{
return rand() % 2;
}
11번
#include <stdio.h>
#include <stdlib.h>
#include<time.h>
double f_rand();
int main(void)
{
int i;
srand(time(NULL));
for (i = 0; i < 5; i++)
{
printf("%lf ", f_rand());
}
return 0;
}
double f_rand()
{
return rand() / (double)RAND_MAX;
}
12번
#include <stdio.h>
void print_value(int n);
int main(void)
{
int n;
while (1)
{
printf("값을 입력하시오(종료는 음수):");
scanf("%d", &n);
if (n < 0)
{
break;
}
print_value(n);
}
return 0;
}
void print_value(int n)
{
for (int i = 0; i < n; i++)
{
printf("*");
}
printf("\n");
}
13번
#include <stdio.h>
int is_multiple(int n, int m);
int main(void)
{
int n,m;
printf("첫번째 정수를 입력하시오:");
scanf("%d", &n);
printf("두번째 정수를 입력하시오:");
scanf("%d", &m);
if (is_multiple(n, m) == 1)
{
printf("%d는 %d의 배수입니다.", n, m);
}
else
{
printf("%d는 %d의 배수가 아닙니다.", n, m);
}
return 0;
}
int is_multiple(int n, int m)
{
if (n % m == 0)
{
return 1;
}
else
{
return 0;
}
}
14번
#include <stdio.h>
#include <math.h>
double distance(double x1, double y1, double x2, double y2);
int main(void)
{
double x1, x2, y1, y2;
printf("첫번째 점의 좌표를 입력하시오:(x, y)");
scanf("%lf %lf", &x1, &y1);
printf("두번째 점의 좌표를 입력하시오 :(x, y)");
scanf("%lf %lf", &x2, &y2);
printf("두점 사이의 거리는 %lf입니다.", distance(x1, y1, x2, y2));
}
double distance(double x1, double y1, double x2, double y2)
{
double result;
result = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
return sqrt(result);
}
15번
#include <stdio.h>
int is_prime(int x);
int main(void)
{
int i,j;
for (i = 2; i <= 100; i++)
{
if (is_prime(i) == 1)
printf("%d ", i);
}
return 0;
}
int is_prime(int x)
{
int i;
for (i = 2; i < x; i++) {
if (x % i == 0)
{
return 0;
}
}
return 1;
}
16번
#include <stdio.h>
double factorial(int n);
int main(void)
{
int n;
double e = 1.0;
printf("어디까지 계산할까요: ");
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
e += (1 / factorial(i));
}
printf("오일러의 수는 %lf입니다.", e);
return 0;
}
double factorial(int n)
{
double result = 1;
for (int i = 1; i <= n; i++)
result *= i;
return result;
}
17번
#include <stdio.h>
#include <math.h>
int f_equal(double x, double y);
int main(void)
{
double a, b;
printf("실수를 입력하시오: ");
scanf("%lf", &a);
printf("실수를 입력하시오: ");
scanf("%lf", &b);
if (f_equal(a, b) == 1)
{
printf("두 개의 실수는 서로 같음\n");
}
else
{
printf("두 개의 실수는 서로 다름\n");
}
return 0;
}
double f_abs(double x)
{
if (x > 0)
{
return x;
}
else
{
return -x;
}
}
double f_min(double x, double y)
{
if (x > y)
{
return y;
}
else
{
return x;
}
}
int f_equal(double x, double y)
{
double value;
value = f_abs(x - y) / f_min(f_abs(x), f_abs(y));
if (value < 0.000001)
{
return 1;
}
else
{
return 0;
}
}
18번
#include <stdio.h>
int add(int x, int y);
int subtract(int x, int y);
int multiply(int x, int y);
int divide(int x, int y);
int remainder(int x, int y);
int main(void)
{
int a, x, y, result;
char b;
printf("=============================================\nMENU\n=============================================\n1. 덧셈\n2. 뺄셈\n3. 곱셈\n4. 나눗셈\n5. 나머지\n");
do
{
printf("원하는 메뉴를 선택하시오(1-5):");
scanf("%d", &a);
printf("숫자 2개를 입력하시오:");
scanf("%d %d", &x, &y);
if (a == 1)
{
result = add(x, y);
}
else if (a == 2)
{
result = subtract(x, y);
}
else if (a == 3)
{
result = multiply(x, y);
}
else if (a == 4)
{
result = divide(x, y);
}
else if (a == 5)
{
result = remainder(x, y);
}
printf("연산 결과 %d\n계속하려면 y를 누르시오:", result);
scanf(" %c", &b);
} while (b == 'y');
}
int add(int x, int y)
{
return x + y;
}
int subtract(int x, int y)
{
return x - y;
}
int multiply(int x, int y)
{
return x * y;
}
int divide(int x, int y)
{
return x / y;
}
int remainder(int x, int y)
{
return x % y;
}
'쉽게 풀어쓴 C언어 Express (개정3판)' 카테고리의 다른 글
쉽게 풀어쓴 C언어 Express (개정3판) 9장 Programming 문제풀이 (0) | 2023.03.30 |
---|---|
쉽게 풀어쓴 C언어 Express (개정3판) 7장 Programming 문제풀이 (0) | 2023.03.30 |
쉽게 풀어쓴 C언어 Express (개정3판) 6장 Programming 문제풀이 (0) | 2023.03.30 |
쉽게 풀어쓴 C언어 Express (개정3판) 5장 Programming 문제풀이 (0) | 2023.03.30 |
쉽게 풀어쓴 C언어 Express (개정3판) 4장 Programming 문제풀이 (0) | 2023.03.30 |
댓글