欢迎来到天天文库
浏览记录
ID:62033230
大小:60.50 KB
页数:5页
时间:2021-04-15
《C语言常用十种典型自编函数汇集.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、/*1、素数是指只能被自己和1整除的数*/#include2、ti; switch(b) { caes2:return m+(m/10—m%10)*(1-10); case3:returnm+(m/100-m%10)*(1-100); case4:returnm+(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;}}returny;}★例子:(b=0适用于回文数判别;b=3、4适用于陷阱数求取)#incl3、ude〈stdio。h〉long retrograde(longa, intb) { longm=a,y=0;inti; switch(b) {case2: return m+(m/10-m%10)*(1-10); case3:returnm+(m/100-m%10)*(1—100); case4:returnm+(m/1000-m%10)*(1-1000)+(m/100)%10*(10—100)—(m/10)%10*(10-100); case 0:while(m){y=y*10+m%104、;m/=10;}ﻩ} return y;}voidmain(){longa=12345,c=1;printf(”b=2 is%d\n",retrograde(c,2)); printf(”b=3is%d”,retrograde(c,3)); printf("b=4is%d”,retrograde(c,4)); printf(”b=0 is%dn",retrograde(a,0));}/*3、寻找最大、最小通用函数(judge为1时,求最大值;0时求最小值)/*4、求最大公约数 欧几里得算法:*5、/ intgcd( intm, intn) {intt,r; if(m〈n){t=m;m=n;n=t;} while(n!=0) {r=m%n; m=n;n=r;} returnm; }/*5、求最小公倍数算法:两数之积除以最大公约数所得的值即为最小公倍数*/ int gcd(int m, intn) { intt,r; while(n!=0) { r=m%n; m=n; n=r;} return(m*n)/m;}/*6、整数的各位分离成一维整型数6、组元素*/void inte(longn,int a[], int *k) { longm;k=0; m=n; while(m〉0) { a[k++]=m%10;m=m/10;} }/*7、一维整型数值数组元素逆置 第一个与最后一个交换,第二个与倒数第二个交换…。.*/ void exchange(inta[], intn){ inti,t; for(i=0;i7、串倒序排列函数改为: #include<stdio.h〉#include<string.h>voidexchange(char*a){ inti ,n; chart; n=strlen(a);for(i=0;i〈=n/2;i++){ t=a[i];a[i]=a[n-i-1];a[n—i-1]=t;}}void main(){charg[]="abcdefgh”; printf("before:%s",g);exchange(g); printf(”after:%s”,g);} /*8、求阶乘8、*/ long func(intn) {inti; long t=1; for(i=2;i<=n;i++)t*=i; returnt;}/*9、简单起泡法通用函数:以Fibonnacii数列中求质数后要求排序输出为例。judge=1时为升序;judge=0时为降序*//*10、求“正整型数”(包括1,但不包括数本身)的真因子及其之和通用函数*/#include<stdio.h>intfac(intn,intb[]
2、ti; switch(b) { caes2:return m+(m/10—m%10)*(1-10); case3:returnm+(m/100-m%10)*(1-100); case4:returnm+(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;}}returny;}★例子:(b=0适用于回文数判别;b=3、4适用于陷阱数求取)#incl
3、ude〈stdio。h〉long retrograde(longa, intb) { longm=a,y=0;inti; switch(b) {case2: return m+(m/10-m%10)*(1-10); case3:returnm+(m/100-m%10)*(1—100); case4:returnm+(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
4、;m/=10;}ﻩ} return y;}voidmain(){longa=12345,c=1;printf(”b=2 is%d\n",retrograde(c,2)); printf(”b=3is%d”,retrograde(c,3)); printf("b=4is%d”,retrograde(c,4)); printf(”b=0 is%dn",retrograde(a,0));}/*3、寻找最大、最小通用函数(judge为1时,求最大值;0时求最小值)/*4、求最大公约数 欧几里得算法:*
5、/ intgcd( intm, intn) {intt,r; if(m〈n){t=m;m=n;n=t;} while(n!=0) {r=m%n; m=n;n=r;} returnm; }/*5、求最小公倍数算法:两数之积除以最大公约数所得的值即为最小公倍数*/ int gcd(int m, intn) { intt,r; while(n!=0) { r=m%n; m=n; n=r;} return(m*n)/m;}/*6、整数的各位分离成一维整型数
6、组元素*/void inte(longn,int a[], int *k) { longm;k=0; m=n; while(m〉0) { a[k++]=m%10;m=m/10;} }/*7、一维整型数值数组元素逆置 第一个与最后一个交换,第二个与倒数第二个交换…。.*/ void exchange(inta[], intn){ inti,t; for(i=0;i7、串倒序排列函数改为: #include<stdio.h〉#include<string.h>voidexchange(char*a){ inti ,n; chart; n=strlen(a);for(i=0;i〈=n/2;i++){ t=a[i];a[i]=a[n-i-1];a[n—i-1]=t;}}void main(){charg[]="abcdefgh”; printf("before:%s",g);exchange(g); printf(”after:%s”,g);} /*8、求阶乘8、*/ long func(intn) {inti; long t=1; for(i=2;i<=n;i++)t*=i; returnt;}/*9、简单起泡法通用函数:以Fibonnacii数列中求质数后要求排序输出为例。judge=1时为升序;judge=0时为降序*//*10、求“正整型数”(包括1,但不包括数本身)的真因子及其之和通用函数*/#include<stdio.h>intfac(intn,intb[]
7、串倒序排列函数改为: #include<stdio.h〉#include<string.h>voidexchange(char*a){ inti ,n; chart; n=strlen(a);for(i=0;i〈=n/2;i++){ t=a[i];a[i]=a[n-i-1];a[n—i-1]=t;}}void main(){charg[]="abcdefgh”; printf("before:%s",g);exchange(g); printf(”after:%s”,g);} /*8、求阶乘
8、*/ long func(intn) {inti; long t=1; for(i=2;i<=n;i++)t*=i; returnt;}/*9、简单起泡法通用函数:以Fibonnacii数列中求质数后要求排序输出为例。judge=1时为升序;judge=0时为降序*//*10、求“正整型数”(包括1,但不包括数本身)的真因子及其之和通用函数*/#include<stdio.h>intfac(intn,intb[]
此文档下载收益归作者所有