用C语言编写自定义函数:

Python017

用C语言编写自定义函数:,第1张

(1)素数判断函数:是返回1,否则返回0

int prime(int n){

int i

if(n>2 && !(n&1) || n<2)

return 0

for(i=3i*i<=ni+=2)

if(!(n%i))

return 0

return 1

}

(2)编写排序函数(冒泡排序、选择排序)

void bubbling(int *p,int n){//冒泡

int i,j,k

for(i=0i<ni++)

for(j=1j<nj++)

if(p[j]<p[j-1])

k=p[j],p[j]=p[j-1],p[j-1]=k

} void select(int *p,int n){//选择

int i,j,k

for(n--,i=0i<ni++){

for(k=i,j=k+1j<=nj++)

if(p[k]<p[j])

k=j

if(k-i)

j=p[k],p[k]=p[i],p[i]=j

}

}

(3)查找函数,找到返回下标,否则返回-1

int find(int *p,int n,int x){//顺序

int i

for(i=0i<ni++)

if(p[i]==x)

return i

return -1

} int fihalf(int *p,int n,int x){//折半,升序为例

int l,r,m

l=0,r=n-1

while(m=(l+r)>>1,l<r && p[m]-x)

p[m]<x ? l=m+1 : r=m-1

return p[m]==x ? m : -1

}

(4)插入函数,升序为例

第一行和第五行任意一处就够了,都写也没冲突。

最后函数定义那必须有,他后面没带分号,而是函数主体;前面2处才是函数声明。

函数声明定义在main()函数内外都可以,只要在调用max之前,能找到声明就可以了。

如果把函数定义(包括函数定义和实现体)放在main函数之前,则可以需要再写函数声明了。

自定义函数是由用户按需要写的函数。这与库函数相对应的,库函数是由c系统提供的函数,已经定义好了如printf

scanf

getchar

、putchar、gets、puts、strcat等函数均属此类。

说白了,自定义函数是是自己写的,想实现什么功能就写什么,然后在用的时候和库函数(系统定义的)的一样调用就是了,相当于自己增加了一个自己的库函数。