예전에 써뒀던 글인데 코드 복붙을 잘못해서 들여쓰기가 안되어 있습니다
개발도구에 코드 복붙하시고, 비주얼 스튜디오 기준 Ctrl + K + F를 하면 들여쓰기가 됩니다.
1번
#include <stdio.h>
int add(int, int);
int sub(int, int);
int mul(int, int);
int div(int, int);
int main(void)
{
char op;
int x, y;
int i;
do
{
printf("연산을 입력하시오: ");
scanf("%d %c %d", &x, &op, &y);
if (op == '+')
printf("연산 결과: %d \n", add(x, y));
else if (op == '-')
printf("연산 결과: %d \n", sub(x, y));
else if (op == '*')
printf("연산 결과: %d \n", mul(x, y));
else if (op == '/')
printf("연산 결과: %d \n", div(x, y));
else
printf("지원되지 않는 연산자입니다. \n");
} while (op == 'q'); //q 입력하면 종료되게 프로그래밍함
return 0;
}
int add(int x, int y)
{
static int count;
count++;
printf("덧셈은 총 %d번 실행되었습니다.\n", count);
return (x + y);
}
int sub(int x, int y)
{
static int count;
count++;
printf("뺄셈은 총 %d번 실행되었습니다.\n", count);
return (x - y);
}
int mul(int x, int y)
{
static int count;
count++;
printf("곱셈은 총 %d번 실행되었습니다.\n", count);
return (x * y);
}
int div(int x, int y)
{
static int count;
count++;
printf("나눗셈은 총 %d번 실행되었습니다.\n", count);
return (x / y);
}
2번
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
int get_dice_face();
static int d1, d2, d3, d4, d5, d6;
int main(void)
{
int i;
srand(time(NULL));
for (i = 0; i < 100; i++)
{
get_dice_face();
}
printf("1->%d\n2->%d\n3->%d\n4->%d\n5->%d\n6->%d\n", d1, d2, d3, d4, d5, d6);
return 0;
}
int get_dice_face()
{
int result;
result = rand() % 6+1;
if (result == 1)
d1++;
else if (result == 2)
d2++;
else if (result == 3)
d3++;
else if (result == 4)
d4++;
else if (result == 5)
d5++;
else if (result == 6)
d6++;
}
3번
#include <stdio.h>
#include <stdlib.h>
int check();
int main(void)
{
check();
check();
check();
check();
return 0;
}
int check()
{
static int call_count = 0;
call_count++;
if (call_count > 3)
{
printf("로그인 시도횟수 초과\n ");
return 0;
}
printf("비밀번호: ");
int n;
scanf("%d", &n);
if (n == 1234)
{
printf("로그인 성공!!\n ");
return 1;
}
return 0;
}
4번
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void get_random();
int main(void)
{
get_random();
get_random();
get_random();
get_random();
return 0;
}
void get_random()
{
static int inited = 0;
if (inited == 0)
{
inited = 1;
srand((unsigned)time(NULL));
printf("초기화 실행\n");
}
else
{
printf("%d\n", rand());
}
}
5번
#include <stdio.h>
int sum(int n);
int main()
{
int number, result;
printf("정수를 입력하시오: ");
scanf("%d", &number);
result = sum(number);
printf("1부터 %d까지의 합=%d\n", number, result);
}
int sum(int num)
{
if (num != 0)
{
return num + sum(num - 1);
}
else
{
return num;
}
}
6번
#include <stdio.h>
int power(int base, int power_raised);
int main(void)
{
int b, p;
printf("밑수:");
scanf("%d", &b);
printf("지수:");
scanf("%d", &p);
printf("%d^%d = %d", b, p, power(b, p));
return 0;
}
int power(int base, int power_raised)
{
if (power_raised != 1)
{
return base * power(base, power_raised - 1);
}
else
{
return base;
}
}
7번
#include <stdio.h>
int show_digit(int x);
int main(void)
{
int n;
printf("정수를 입력하시오: ");
scanf("%d", &n);
show_digit(n);
printf("\n");
return 0;
}
int show_digit(int x)
{
if (x / 10 > 0)
{
show_digit(x / 10);
}
printf("%d ", x % 10);
}
8번
#include <stdio.h>
int digits(int a);
int main(void)
{
int num;
printf("정수를 입력하시오: ");
scanf("%d", &num);
printf("자리수의 합: %d", digits(num));
}
int digits(int a)
{
static int count = 1;
if (a / 10 != 0)
{
count++;
digits(a / 10);
}
return count;
}
9번
#include <stdio.h>
int get_digit_sum(int num);
int main()
{
int n, sum;
printf("정수를 입력하시오: ");
scanf("%d", &n);
sum = get_digit_sum(n);
printf("자리수의 합: %d\n", sum);
return 0;
}
int get_digit_sum(int n)
{
if (n == 0)
{
return 0;
}
return ((n % 10) + get_digit_sum(n / 10));
}
10번
#include <stdio.h>
double recursive(double n);
int main(void)
{
double num;
scanf("%lf", &num);
printf("%lf", recursive(num));
return 0;
}
double recursive(double n)
{
if (n != 1)
return 1.0 / n + recursive(n - 1);
else
return(n);
}
11번
#include <stdio.h>
int recursive(int n, int k);
int main(void)
{
int n, k;
printf("n=");
scanf("%d", &n);
printf("k=");
scanf("%d", &k);
printf("%d\n", recursive(n, k));
return 0;
}
int recursive(int n, int k);
{
if (n == 1 || n == k)
return 1;
else
return recursive(n - 1, k - 1) + recursive(n - 1, k);
}
12번
#include <stdio.h>
int fib(int n);
int main(void)
{
int i;
for (i = 0; i < 10; i++)
printf("fib(%d) = %d\n", i, fib(i));
return 0;
}
int fib(int n)
{
if (n == 0)
return 0;
else if (n == 1)
return 1;
else
return fib(n - 2) + fib(n - 1);
}
'쉽게 풀어쓴 C언어 Express (개정3판)' 카테고리의 다른 글
쉽게 풀어쓴 C언어 Express (개정3판) 8장 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 |
댓글