C语言常用代码

上传人:xmg****18 文档编号:109735850 上传时间:2019-10-27 格式:DOC 页数:28 大小:51.24KB
返回 下载 相关 举报
C语言常用代码_第1页
第1页 / 共28页
C语言常用代码_第2页
第2页 / 共28页
C语言常用代码_第3页
第3页 / 共28页
C语言常用代码_第4页
第4页 / 共28页
C语言常用代码_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《C语言常用代码》由会员分享,可在线阅读,更多相关《C语言常用代码(28页珍藏版)》请在金锄头文库上搜索。

1、 完美WORD格式 #includeusing namespace std;void fullxunhuan(int *a,int n)int t=0;int m1,m2;if(n%2!=0) n+;for(int i=0;in%2;i+)for(m1=i,m2=n-i-1;m1i;m2-)am1m2=t%n+1;t+;for(;m1i;m1-)am1m2=t%n+1;t+;for(;m2n-i-1;m2+)am1m2=t%n+1;t+;void print(int *a,int n)for(int i=0;in;i+)for(int j=0;jn;j+)coutaijt; coutn;voi

2、d main() int *a;int n;cout请输入Nn; a=new int *n;/申请一个N行N列的数组for(int i1=0;i1n;i1+)ai1=new intn;for(int i=0;in;i+)/给数组初始化for(int j=0;jn;j+)aij=0;fullxunhuan(a,n); print(a,n);ACM小组内部预定函数数学问题: 1.精度计算大数阶乘2.精度计算乘法(大数乘小数)3.精度计算乘法(大数乘大数)4.精度计算加法5.精度计算减法6.任意进制转换7.最大公约数、最小公倍数8.组合序列9.快速傅立叶变换(FFT) 10.Ronberg算法计算积

3、分11.行列式计算12.求排列组合数字符串处理: 1.字符串替换2.字符串查找3.字符串截取 计算几何: 1.叉乘法求任意多边形面积2.求三角形面积3.两矢量间角度4.两点距离(2D、3D)5.射向法判断点是否在多边形内部6.判断点是否在线段上7.判断两线段是否相交8.判断线段与直线是否相交9.点到线段最短距离10.求两直线的交点11.判断一个封闭图形是凹集还是凸集12.Graham扫描法寻找凸包 数论: 1.x的二进制长度2.返回x的二进制表示中从低到高的第i位3.模取幂运算4.求解模线性方程5.求解模线性方程组(中国余数定理)6.筛法素数产生器7.判断一个数是否素数 图论: 1.Prim算

4、法求最小生成树2.Dijkstra算法求单源最短路径3.Bellman-ford算法求单源最短路径4.Floyd算法求每对节点间最短路径 排序/查找: 1.快速排序2.希尔排序3.选择法排序4.二分查找 数据结构: 1.顺序队列2.顺序栈3.链表4.链栈5.二叉树一、数学问题1.精度计算大数阶乘语法:int result=factorial(int n);参数:n:n 的阶乘返回值:阶乘结果的位数注意: 本程序直接输出n!的结果,需要返回结果请保留long a 需要 math.h源程序: int factorial(int n)long a10000;int i,j,l,c,m=0,w; a0

5、=1; for(i=1;i=n;i+) c=0; for(j=0;j0) m+;am=c; w=m*4+log10(am)+1;printf(n%ld,am); for(i=m-1;i=0;i-) printf(%4.4ld,ai);return w; 2.精度计算乘法(大数乘小数)语法:mult(char c,char t,int m);参数:c:被乘数,用字符串表示,位数不限t:结果,用字符串表示m:乘数,限定10以内返回值:null注意: 需要 string.h源程序: void mult(char c,char t,int m) int i,l,k,flag,add=0; char s

6、100; l=strlen(c); for (i=0;il;i+) sl-i-1=ci-0; for (i=0;i=10) si=k%10;add=k/10;flag=1; else si=k;flag=0;add=0; if (flag) l=i+1;si=add; else l=i; for (i=0;il;i+) tl-1-i=si+0; tl=0;3.精度计算乘法(大数乘大数)语法:mult(char a,char b,char s);参数:a:被乘数,用字符串表示,位数不限b:乘数,用字符串表示,位数不限t:结果,用字符串表示返回值:null注意: 空间复杂度为 o(n2) 需要 s

7、tring.h源程序: void mult(char a,char b,char s) int i,j,k=0,alen,blen,sum=0,res6565=0,flag=0; char result65; alen=strlen(a);blen=strlen(b); for (i=0;ialen;i+) for (j=0;j=0;i-) for (j=blen-1;j=0;j-) sum=sum+resi+blen-j-1j; resultk=sum%10; k=k+1; sum=sum/10; for (i=blen-2;i=0;i-) for (j=0;j=i;j+) sum=sum+

8、resi-jj; resultk=sum%10; k=k+1; sum=sum/10; if (sum!=0) resultk=sum;k=k+1; for (i=0;i=0;i-) si=resultk-1-i; sk=0; while(1) if (strlen(s)!=strlen(a)&s0=0) strcpy(s,s+1); else break; 4.精度计算加法语法:add(char a,char b,char s);参数:a:被乘数,用字符串表示,位数不限b:乘数,用字符串表示,位数不限t:结果,用字符串表示返回值:null注意: 空间复杂度为 o(n2) 需要 string.

9、h源程序: void add(char a,char b,char back) int i,j,k,up,x,y,z,l; char *c; if (strlen(a)strlen(b) l=strlen(a)+2; else l=strlen(b)+2; c=(char *) malloc(l*sizeof(char); i=strlen(a)-1; j=strlen(b)-1; k=0;up=0; while(i=0|j=0) if(i0) x=0; else x=ai; if(j9) up=1;z%=10; else up=0; ck+=z+0; i-;j-; if(up) ck+=1; i=0; ck=0; for(k-=1;k=0;k-) backi+=ck; backi=0; 5.精度计算减法语法:sub(char s1,char s2,char t);参数:s1:被减数,用字符串表示,位数不限s2:减数,用字符串表示,位数不限t:结果,用字符串表示返回值:null注意: 默认s1=s2,程序未处理负数情况 需要 string.h源程序: void sub(char s1,char s2,char t) int i,l2,l1,k; l2=strle

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号