전체 글45 [c언어] 재귀 - 팩토리얼 팩토리얼이란 숫자! 라는 기호로 나타낼수 있는데, 이 뜻은 n! 일 경우 1부터 n 까지의 수를 모두 곱한값이란 뜻이다.고로 만약 5! 인경우 값은 1*2*3*4*5 = 120 이다.이를 재귀함수로 구현하면, 함수안에서 리턴할때 n-1 값을 다시 호출하면 되는데,이를 구현하면 다음과 같다.12345678910111213141516171819#include int fact(int n); int main(void){ int c; scanf("%d", &c); printf("%d", fact(c));}int fact(int n){ if(n==1) return n; else return n*fact(n-1);} cs 코드를 설명하자면 면저 함수 fact 의 프로토타입을 선언해주었고,C값을 입력받아 팩토리얼의 인.. 2016. 3. 28. [C언어] 함수 - 계산기 이 문제는 사용자가 피연산자 1과 연산자, 피연산자 2 를 입력했을때,연산자의 값에 따라 결과를 출력하는 문제이다.이를 함수로 구현하면, 피연산자 1과 연산자, 피연산자 2를 함수에 전달인자로 넘겨주거나, if 문 또는 switch 으로 연산자를 구분하여 연산자에따라 다른 함수를 호출할 수도 있다. 두번째 방식으로 if문으로 연산자를 구분하여 각기 다른 함수를 호출하면 다음과 같이 나올 수 있다.12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include int plus(int a, int c);int minus(int a, int c);int multiply(int a, int c);dou.. 2016. 3. 28. 2의n승 123456789101112131415161718192021222324252627282930313233343536373839404142434445#include int main(void){ int sum[701] = { 0, }; int temp[702] = { 0, }; int i; int j; int k; int key; sum[700] = 2; scanf("%d", &key); for (i = 0; i = 1; k--) { if ((sum[k] * 2) = 10) { sum[k] = (sum[k] * 2) % 10; temp[k - 1] += 1; } } for (j = 700; j >= 1; j--) { if (temp[j] == 1) { sum[j] += 1; temp[j] = 0; if (su.. 2016. 3. 28. 다차원배열과제 다차원배열1123456789101112131415161718192021222324#include int main(void){ int a[50][50]; int i, j; int key; scanf("%d", &key); for (i = 0; i 2016. 3. 28. 이전 1 ··· 6 7 8 9 10 11 12 다음