반응형
11. [프로그램 8-32]를 반복문 형태로 수정하시오. |
<프로그램 [8-32]>
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void palindrome(int n);
int main()
{
int n;
printf("양의 정수 n을 입력하면 거꾸로 출력하는 프로그램입니다. n은? ");
scanf("%d", &n);
palindrome(n);
return 0;
}
// 양의 정수 n을 거꾸로 출력하는 재귀적 함수
void palindrome(int n)
{
// n의 끝자리 값 출력하기
printf("%d", n % 10);
// n이 10단위 이상의 값이라면 재귀 호출로 나머지 자리를 출력하기
if (n >= 10)
palindrome(n / 10);
}
<수정한 코드>
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void palindrome(int n);
int main()
{
int n;
printf("양의 정수 n을 입력하면 거꾸로 출력하는 프로그램입니다. n은? ");
scanf("%d", &n);
palindrome(n);
return 0;
}
// 양의 정수 n을 거꾸로 출력하는 함수
void palindrome(int n)
{
while (n >= 10) {
printf("%d", n % 10);
n /= 10;
}
printf("%d", n % 10);
}
12. 함수의 원형이 int factorial(int n);인 N!(팩토리얼)을 구하는 재귀 함수를 정의하여 사용자가 입력한 임의의 양의 정수 n에 대해 n!을 구하는 프로그램을 작성하시오. n! = 1 * 2 * 3 * ... * n 이다. |
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int factorial(int n);
int main()
{
int n;
printf("숫자 입력: ");
scanf("%d", &n);
printf("%d", factorial(n));
return 0;
}
int factorial(int n)
{
if (n > 1)
return n * factorial(n - 1);
else
return 1;
}
13. [프로그램 8-32]를 참고해 사용자가 입력한 양의 정수를 2진수로 출력하는 binary 함수를 정의하시오. |
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void binary(int n);
int main()
{
int n;
printf("n은? ");
scanf("%d", &n);
binary(n);
return 0;
}
void binary(int n)
{
if (n >= 2)
binary(n / 2);
printf("%d", n % 2);
}
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 10(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) (0) | 2020.10.17 |
---|---|
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 9 (1, 2, 3, 4, 5) (0) | 2020.10.16 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 8 (6,7,8,9,10) (0) | 2020.09.20 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 8 (1,2,3,4,5) (0) | 2020.09.12 |
(C언어) 배열과 함수, 배열과 포인터 (0) | 2020.09.10 |