[C 언어] 귀속 실현.

5746 단어
(1) 에밀 다항식 Hn(x)의 귀속 실현
#include <stdio.h>
int hermite(int n,int x)
{

    if(n<=0)
    {
        return 1;
    }
    else if(n==1)
    {
        return 2*x;
    }
    else
    {
        return 2*x*hermite(n-1,x)-2*(n-1)*hermite(n-2,x);
    }
    return 0;
}
int main ()
{
    printf("%d
"
,hermite(3,2)); return 0; }

(2)n의 k차멱의 귀속 실현
#include <stdio.h>
#include <math.h>
double cimi(double n,double k)
{
    if(k==0)
    {
        return 1;
    }
    else if(k>0)
    {
        return cimi(n,k-1)*n;
    }
    else
    {
        return cimi(n,k+1)*pow(n,-1);
    }
    return 0;
}
int main ()
{
    printf("%f
"
,cimi(2,-3)); return 0; }

(3) 함수 DigitSum(n)의 귀속 실현
- DigitSum(1729)과 같이 1+7+2+9의 합계 19를 반환해야 합니다.
#include <stdio.h>
int DigitSum(n)
{
    int sum = 0;
    int tmp = n/10;
    if(n != 0)
    {
        sum = DigitSum(tmp)+n%10;       
    }
    return sum;
}
int main ()
{
    printf("%d
"
,DigitSum(1729)); return 0; }

if(n!=0) 1729에서 10을 제외하고 마지막에 얻은 1이if에 들어가 화해를 구할 수 있도록 보증합니다.
(4) 문자 역방향 배열 귀속 실현
함수 원형:reverse(char *string)
실현: 매개 변수 문자열의 문자를 반대로 배열
요구사항: C 함수 라이브러리의 문자열 조작 함수를 사용할 수 없습니다.
#include <stdio.h>
#include <string.h>
void reverse(char *string)
{
    int len = strlen(string);
    if(len <= 1)
    {
        return;
    }
    else
    {
        int tmp = string[0];
        string[0] = string[len-1];
        string[len-1] = '\0';
        reverse(string+1);
        string[len-1] = tmp;
    }
}
int main ()
{
    char a[] = "bit-tech";
    reverse(a);
    printf("%s
"
,a); return 0; }

좋은 웹페이지 즐겨찾기