[[TableOfContents]] = 진행사항 = * 참여자 || 튜터 || [최다인] || 참석 || || 튜티 || [김영은] || 참석 || || || [김상렬] || 참석 || * 제어문 복습 * 함수 * 함수의 사용법 * 함수 prototype * 지역변수, 전역변수 * 재귀함수 = 실습 = * 값을 입력받아 해당 값의 factorial을 구하는 프로그램을 작성 === 김영은 === {{{ #include int main() { int n; while (1)//무한반복 { printf("몇 factorial의 값을 구하시겠습니까?\n"); scanf("%d", &n); if (n == -1) break; else if (n < -1) continue; else printf("%d! = %d\n", n, factorial(n)); } } int factorial(int n)//int main과 다른 함수 { if (n == 0) return 1; else return n*factorial(n - 1); } }}} === 김상렬 === {{{ #include #pragma warning(disable:4996) int main(void) { int n, result; while (1) { printf("몇 factorial 값 n please : "); scanf("%d", &n); if (n == -1) { break; } else if (n < -1) { continue; } else { result = fact(n); printf("%d\n", result); } } } int fact(int n) { if (n == 0 ){ return 1; } else { return n * fact(n - 1); } } }}} === 최다인 === {{{ #include int fact (int n); int main () { int n; while (1) { printf("몇 factorial의 값을 구하시겠습니까? : "); scanf("%d", &n); if (n == -1) { break; } else if (n < -1) { printf("잘못된 입력값입니다. 양수를 입력해주세요.\n"); continue; } else { printf("%d! : %d\n", n, fact(n)); } } return 0; } int fact (int n) { if (n == 0) { return 1; } else { return n * fact(n - 1); } } }}} = 과제 = * 하노이의 탑 === 김영은 === {{{ #include // 밑에서 선언할 때 프로토타입 사용 void hanoi(int n, char src, char dest, char aux); int main() { int n; char src = 'A', dest = 'B', aux = 'C'; scanf("%d", &n); hanoi(n, src, dest, aux); return 0; } void hanoi(int n, char src, char dest, char aux) { //return값이 필요없을 때 void 사용 if (n == 1) { printf("%c에서 %c로 원반이동\n", src, dest); return; } hanoi(n - 1, src, aux, dest); hanoi(1, src, dest, aux); hanoi(n - 1, aux, dest, src); } }}} === 김상렬 === {{{ #include int hanoi(int n, int In, int Fin) { static int count = 0; int Mid = 6-In-Fin; if(n==1){ printf("%d --> %d\n", In, Fin); count+=1; } else{ hanoi(n-1,In, Mid); hanoi(1, In, Fin); hanoi(n-1, Mid, Fin); } return count; } int main(void){ int disk, fcount;// printf("원판수 입력: "); scanf("%d", &disk); fcount = hanoi(disk, 1,3); printf("총 이동 수는 : %d\n", fcount); return 0; } //helped by zeropage }}} = 후기 = ----- [새싹교실/2016/고등어자반|고등어자반]