C语言常用十种典型自编函数汇集.docVIP

  • 3
  • 0
  • 约3千字
  • 约 5页
  • 2017-06-07 发布于重庆
  • 举报
C语言常用十种典型自编函数汇集

/*1、素数是指只能被自己和1整除的数*/ #include math int prime(int n) { int m; for(m=2;m=sqrt(n);m++) if(n%m==0) return 0; return 1; } /*2、求逆序数通用函数。说明第二参数b是指变换方式:0常规;2-4不管输入位数,只要小于或等于它,输出凑足相应位数,例如b=3;输入1,返回100*/ long retrograde(long a, int b) { long m=a,y=0; int i; switch(b) { caes 2: return m+(m/10-m%10)*(1-10); case 3: return m+(m/100-m%10)*(1-100); case 4: return m+(m/1000-m%10)*(1-1000)+(m/100)%10*(10-100)-(m/10)%10*(10-100); case 0: while(m) {y=y*10+m%10; m/=10;} } return y; } 例子:(b=0适用于回文数判别;b=3、4适用于陷阱数求取) #include stdio.h long retrograde(long a, int b) { long m=a,y=0; int i; switch(b) { case 2: return m+(m/10-m%10)*(1-10); case 3: return m+(m/100-m%10)*(1-100); case 4: return m+(m/1000-m%10)*(1-1000)+(m/100)%10*(10-100)-(m/10)%10*(10-100); case 0: while(m) {y=y*10+m%10; m/=10;} } return y; } void main() { long a=12345,c=1; printf(b=2 is %d\n,retrograde(c,2)); printf(b=3 is %d\n,retrograde(c,3)); printf(b=4 is %d\n,retrograde(c,4)); printf(b=0 is %d\n,retrograde(a,0)); } /*3、寻找最大、最小通用函数(judge为1时,求最大值;0时求最小值) /*4、求最大公约数 欧几里得算法:*/ int gcd( int m, int n) { int t,r; if(mn) {t=m; m=n; n=t;} while(n!=0) { r=m%n; m=n; n=r; } return m; } /*5、求最小公倍数 算法:两数之积除以最大公约数所得的值即为最小公倍数*/ int gcd( int m, int n) { int t,r; while(n!=0) { r=m%n; m=n; n=r; } return (m*n)/m; } /*6、整数的各位分离成一维整型数组元素*/ void inte(long n,int a[], int *k) { long m;k=0; m=n; while(m0) { a[k++]=m%10; m=m/10; } } /*7、一维整型数值数组元素逆置 第一个与最后一个交换,第二个与倒数第二个交换…..*/ void exchange(int a[], int n) { int i, t; for(i=0;in/2;i++) { t=a[i]; a[i]=a[n

文档评论(0)

1亿VIP精品文档

相关文档