C语⾔中实⽤的⼦函数(持续加料)【函数的作⽤】
C语⾔中的函数的作⽤是可以将⼀段经常需要使⽤的代码封装起来,在需要使⽤时可以直接调⽤。
⼀,判断素数
int prime(int m)
{
int i,k;
if(m==1)
{
return 0;
}
k=(int)sqrt(m);    /*减少运⾏时间*/
for(i=2;i<=k;i++)
{
if(m%i==0)
{
return 0;
}
}
return 1;
}
⼆,计算⼀个⾮负整数组成它的每位数的数字之和
int digit_sum(int n)
{
int sum=0;
while(n)
{
sum+=n%10;
n/=10;
}
return sum;
}
三,斐波那契数列(适合⼤数计算)
void fib()
{
int s,c;
a[1][0]=1;a[2][0]=1;
for(int i=3;i<1001;i++)
{
c=0;
for(int j=0;j<=500;j++) /*以下步骤模拟⼤数计算,初始化斐波那契数列*/
{
s=a[i-1][j]+a[i-2][j]+c;
a[i][j]=s%10;
c=s/10;
}
}
}
四,求数的阶乘(较⼩的数)
int fun(int n)
{
int i;
int s=1;
for(i=1;i<=n;i++)
s*=i;
return s;
}
五,进制之间的转换
1,⼗进制转换成⼆进制
void DToB(int n,char str[])
{
int len=0;
while(n)
{
str[len]=n%2+'0';
len++;
n/=2;
自定义函数怎么用c语言}
strlen='\0';
strrev(str);
}
2,⼆进制转换成⼗进制
int BToD(char str[])
{
int i,d;
d=0;
for(i=0;str[i]='\0';i++)
{
d=d*2+[str[i]-'0'];
}
return d;
}
六,判断回⽂数
int panduan(int n)
{
int m=0;
int s,r;
s=n;
while(s!=0)
{
r=s%10;
m=10*m+r;
s/=10;
}
if(m==n)
return 1;        /*是回⽂数*/    else
return 0;      /*不是回⽂数*/ }