最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言之函数库(初学.常用)

来源:动视网 责编:小OO 时间:2025-09-26 16:31:40
文档

C语言之函数库(初学.常用)

1.x的y次幂doublegetPower(doublex,inty){inti;doubleresult=1;if(y0){back=back+n%10;n=n/10;}returnback;}注:接收n,返回n各个位数上数字之和。(注意,本函数不具有判断n是否为正整数的功能,输入负数会出现错误!)10.字符串的比较intmystrcmp(char*s,char*t){while(*s&&*t&&*s==*t){s++;t++;}return*s-*t;}注:比较两个字符串的大小,注意返回的
推荐度:
导读1.x的y次幂doublegetPower(doublex,inty){inti;doubleresult=1;if(y0){back=back+n%10;n=n/10;}returnback;}注:接收n,返回n各个位数上数字之和。(注意,本函数不具有判断n是否为正整数的功能,输入负数会出现错误!)10.字符串的比较intmystrcmp(char*s,char*t){while(*s&&*t&&*s==*t){s++;t++;}return*s-*t;}注:比较两个字符串的大小,注意返回的
1.x的y次幂

double getPower(double x,int y)

{

    int i;

    double result=1;

if(y<0)

        return 1.0/getPower(x,-y);

    else if(0==y)

        return 1;

    else

     for(i=0;i            result*=x;

    return result;

}

注:接收x和y,返回x的y次幂。注意这里只能处理y为整数的情况。

2.斐波那契数列

int Fibonacci_sequence(int n)

{

    int i,a=1,b=1,sum=0;

for(i=0;i    {

     sum+=b>a?a:b;

     b>a?a+=b:b+=a;

    }

    return sum;

}

注:接收n,返回前n项斐波那契数列的和。

3.阶乘

double factorial(int n)

{

    int i;

    double result=1;

for(i=1;i<=n;i++)

        result *= i;

    return result;

}

注:接收n,求n的阶乘。为了防止数据溢出,固返回值是double类型,使用时请注意。

4.判断回文数

bool symm(long n)

{

    long i,m;

    i=n;

    m=0;

    while(i)

    {

        m=m*10+i%10;

        i=i/10;

    }

    return (n==m);

}

注:接收n,判断n是否为回文数。函数为布尔型,返回“真”或“假”。

5.判断水仙花数

bool Narcissi_few(int n)

{

    int ge,shi,bai;

    ge = n%10;

    shi = n/10%10;

    bai = n/100;

    return (n==pow(ge,3)+pow(shi,3)+pow(bai,3));

}

注:接收n,判断n是否为水仙花数。是,结果为真;否则为假。且本函数存在pow( )数学库函数,需要程序开头有# include

6.判断素数

bool prime(int n)

{

    int i, a;

    if(1==n)

        return false;

    a = sqrt(n);

for(i=2;i<=a;i++)

        if(0==n%i)

            return false;

    return true;

}

注:接收n,判断n是否为素数。是,结果为真;否则为假。且本函数存在sqrt( )数学库函数,需要程序开头有# include,C++的为# include

7.求n介勒让德多项式

double IPE(int n,float x)

{

    if(0==n)

        return 1;

    else if(1==n)

        return x;

    else

        return ((2*n-1)*x*IPE(n-1,x)-(n-1)*IPE(n-2,x))/n;

}

注:IPE(legendre polynomial expansion)勒让德多项式。这里只是n(n>0,不可判断!)阶勒让德多项式,具体请看本函数。

8.正整数的倒序输出

int Inverted(int n)

{

    int back=0;

while(n>0)

    {

        back=back*10+n%10;

        n=n/10;

    }

    return back;

}

注:接收n,返回n的倒序。(注意,本函数不具有判断n是否为正整数的功能,输入负数会出现错误!)

9.正整数个位求和

int sum(int n)

{

    int back=0;

while(n>0)

    {

        back=back+n%10;

        n=n/10;

    }

    return back;

}

注:接收n,返回n各个位数上数字之和。(注意,本函数不具有判断n是否为正整数的功能,输入负数会出现错误!)

10.字符串的比较

int mystrcmp(char *s,char *t)

{

    while(*s&&*t&&*s==*t)

    {

        s++;

        t++;

    }

    return *s-*t;

}

注:比较两个字符串的大小,注意返回的是s与t的第一个不同字符的ASCLL码表数值的差。

11.字符串的倒序输出

void Inverted(char *p)

{

    int i=0,j=0;

    char s[20];

    while(*(p+i))

    {

        s[i]=*(p+i);

        i++;

    }

    while(*(p+j))

    {

        *(p+j)=s[i-1];

        j++,i--;

    }

}

注:接收一个字符串,输出给字符串的倒序。(注意,本函数会把倒序后的字符串覆盖在原字符串上,原字符串会消失,如有需要请注意保存!)

12.字符串的长度

int mystrlen(char *s)

{

    int i=0;

    while(*s)

    {

        s++;

        i++;

    }

    return i;

}

注:求一个字符串的长度。

13.字符串复制

void mystrcpy(char *s,char *t)

{

    while((*s++=*t++)!='\\0')

    {

        ;

    }

}

注:把字符串t复制到s上;注意s将被覆盖!

文档

C语言之函数库(初学.常用)

1.x的y次幂doublegetPower(doublex,inty){inti;doubleresult=1;if(y0){back=back+n%10;n=n/10;}returnback;}注:接收n,返回n各个位数上数字之和。(注意,本函数不具有判断n是否为正整数的功能,输入负数会出现错误!)10.字符串的比较intmystrcmp(char*s,char*t){while(*s&&*t&&*s==*t){s++;t++;}return*s-*t;}注:比较两个字符串的大小,注意返回的
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top