C语言常用代码.docx

上传人:hw****26 文档编号:2125370 上传时间:2019-04-29 格式:DOCX 页数:28 大小:49.19KB
下载 相关 举报
C语言常用代码.docx_第1页
第1页 / 共28页
C语言常用代码.docx_第2页
第2页 / 共28页
C语言常用代码.docx_第3页
第3页 / 共28页
C语言常用代码.docx_第4页
第4页 / 共28页
C语言常用代码.docx_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、#includeusing namespace std;void fullxunhuan(int *a,int n)int t=0;int m1,m2;if(n%2!=0)n+;for(int i=0;ii;m2-)am1m2=t%n+1;t+;for(;m1i;m1-)am1m2=t%n+1;t+;for(;m2n;a=new int *n;/申请一个 N 行 N 列的数组for(int i1=0;i10) 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、 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 s100;l=strlen(c);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;i

3、=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=0;i-) si=resultk-1-i;sk=0;while(1)if (strlen(s)!=strlen(a)elsebreak;4.精度计算加法语法:add(char a,char b,char s);参数:a: 被乘数,用字符串表示,位数不限b: 乘数,用字符串表示,位数不限t: 结果,用字符串表示返回值: null注意: 空间复杂度为 o(n2)需要 st

4、ring.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(i9) 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

5、+=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=strlen(s2);l1=strlen(s1);tl1=0;l1-;for (i=l2-1;i=0;i-,l1-)if (s1l1-s2i=0) tl1=s1l1-s2i+0;elsetl1=10

6、+s1l1-s2i+0;s1l1-1=s1l1-1-1;k=l1;while(s1k=0) tl1=s1l1;l1-;loop:if (t0=0) l1=strlen(s1);for (i=0;i=0) t=si-0; else t=si-A+10;num=num*d1+t;i=0;while(1)t=num%d2;if (tn1) return; if(m1=n1) for(i=0;i=0; l0-) m=m/2; nv=2*nv; for (it=0; it0) pii=90.0; else pii=-90.0; else pii=atan(fii/fri)*360.0/6.2831853

7、06; return; 10.Ronberg 算法计算积分语法:result=integral(double a,double b);参数:a: 积分上限b: 积分下限function f: 积分函数返回值: f 在(a,b)之间的积分值注意: function f(x)需要自行修改,程序中用的是 sina(x)/x需要 math.h默认精度要求是 1e-5源程序: double f(double x) return sin(x)/x; /在这里插入被积函数 double integral(double a,double b) double h=b-a; double t1=(1+f(b)*h

8、/2.0;int k=1; double r1,r2,s1,s2,c1,c2,t2; loop: double s=0.0; double x=a+h/2.0; while(x1e-5) r1=r2;c1=c2;k+;h/=2.0; t1=t2;s1=s2; goto loop; return r2; 11.行列式计算语法:result=js(int s,int n)参数:s: 行列式存储数组n: 行列式维数,递归用返回值: 行列式值注意: 函数中常数 N 为行列式维度,需自行定义源程序: int js(s,n) int sN,n; int z,j,k,r,total=0; int bNN;/

9、*bNN用于存放,在矩阵sNN中元素 s0的余子式*/ if(n2)for(z=0;z=z) bjk=sj+1k+1; else bjk=sj+1k; if(z%2=0) r=s0z*js(b,n-1); /*递归调用*/ else r=(-1)*s0z*js(b,n-1); total=total+r; else if(n=2)total=s00*s11-s01*s10; return total; 12.求排列组合数语法:result=P(long n,long m); / result=long C(long n,long m);参数:m: 排列组合的上系数n: 排列组合的下系数返回值:

10、 排列组合数注意: 符合数学规则:ml) return 0;for (i=start;i PI)dtheta -= PI*2;while (dtheta -PI)dtheta += PI*2; return(dtheta);4.两点距离(2D、3D )语法:result=distance_2d(float x1,float x2,float y1,float y2);参数:x/y/z12: 各点的 x、y、z 坐标返回值: 两点之间的距离注意: 需要 math.h源程序: float distance_2d(float x1,float x2,float y1,float y2) return(sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);float distance_3d(float x1,float x2,float y1,float y2,float z1,float z2)return(sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2);5.射向法判断点是否在多边形内部语法:result=insidepolygon(Point *polygon,int N,Point p);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课程笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。