목차
1. 기본 재귀함수 알고리즘
아래의 코드를 보고 출력 결과를 예상하자.
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void asterisk(int);
int main(void) {
asterisk(5);
}
void asterisk(int i) {
if (i > 1) {
asterisk(i / 2);
}
printf("*");
}
//olivia_codingschool
<과정>
♣결과
*** 3개
2. 재귀함수 2개
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void asterisk(int);
int main(void) {
asterisk(5);
}
void asterisk(int i) {
if (i > 1) {
asterisk(i / 2);
asterisk(i / 2);
}
printf("*");
}
//olivia_codingschool
<과정>
<결과>
*******(7개)
3. 변형
♣결과
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void asterisk(int);
int main(void) {
asterisk(5);
}
void asterisk(int i) {
if (i > 1) {
asterisk(i / 2);
asterisk(i / 3);
}
printf("*");
}
//olivia_codingschool
<과정>
<결과>
*****(5개)
4. 파라미터 자료형을 double로 바꾸기
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void asterisk(double);
int main(void) {
asterisk(5.0);
}
void asterisk(double i) {
if (i > 1) {
asterisk(i / 2);
}
printf("*");
}
//olivia_codingschool
♣결과
**** (4개)
5. 변형
♧코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void asterisk(double);
int main(void) {
asterisk(5.0);
}
void asterisk(double i) {
if (i > 1) {
asterisk(i / 2);
asterisk(i / 3);
}
printf("*");
}
//olivia_codingschool
♣결과
*********(9개)
'C언어 > 참고서: C언어 콘서트' 카테고리의 다른 글
C언어 43차시 함수 연습문제 3 (0) | 2023.04.04 |
---|---|
C언어 42차시 함수 연습문제 2 (0) | 2023.04.04 |
C언어 40차시 함수 연습문제 1 (0) | 2023.04.04 |
C언어 39차시 함수 원형 선언 (0) | 2023.04.04 |
C언어 38차시 함수, 함수헤더, 파라미터, parameter, 함수몸체, 함수호출, call, argument (0) | 2023.04.04 |