- 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
您可能关注的文档
最近下载
- 《管理体系审核指南gbt 19011-2021》详细解读.pptx VIP
- 四年级数学上册口算竖式计算脱式计算应用题每日一练(共30天).docx VIP
- 2026年永州职业技术学院高职单招职业适应性测试参考题库及答案解析.docx VIP
- 2023年永州职业技术学院高职单招数学历年高频考点试题含答案解析.docx VIP
- 2026年春学期青岛版小学数学一年级下册教学计划.docx VIP
- SHH--400SD药物稳定性试验箱.doc VIP
- 碳13呼气试验检测幽门螺杆菌课件.ppt VIP
- 【精选】数字电子技术课程设计指导书.pdf VIP
- 材料热力学动力学引言.ppt
- 税务机关稽查业务指南及案例分析.docx VIP
原创力文档

文档评论(0)