已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章函数 7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 maxyueshu(m,n) int m,n; int i=1,t; for(;i=m&i=n) j=m; else j=n; for(;!(j%m=0&j%n=0);j+); return j; main() int a,b,max,min; printf(enter two number is: ); scanf(%d,%d,&a,&b); max=maxyueshu(a,b); min=minbeishu(a,b); printf(max=%d,min=%dn,max,min); 7.2求方程 的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 #includemath.h float yishigen(m,n,k) float m,n,k; float x1,x2; x1=(-n+sqrt(k)/(2*m); x2=(-n-sqrt(k)/(2*m); printf(two shigen is x1=%.3f and x2=%.3fn,x1,x2); float denggen(m,n) float m,n; float x; x=-n/(2*m); printf(denggen is x=%.3fn,x); float xugen(m,n,k) float m,n,k; float x,y; x=-n/(2*m); y=sqrt(-k)/(2*m); printf(two xugen is x1=%.3f+%.3fi and x2=%.3f-%.3fin,x,y,x,y); main() float a,b,c,q; printf(input a b c is ); scanf(%f,%f,%f,&a,&b,&c); printf(n); q=b*b-4*a*c; if(q0) yishigen(a,b,q); else if(q=0) denggen(a,b); else xugen(a,b,q); 7.3写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 psushu(m) int m; int i=2,t; for(;i=m;i+) if(m%i=0&im) break; if(m-i=0) t=1; else t=0; return m; main() int a,s; printf(enter sushu is n); scanf(%d,&a); s=psushu(a); if(s=1) printf(a is sushun); else printf(s is not sushun); 7.4写一个函数,使给定的一个二维数组()转置,即行列互换。 int zhuangzhi(b) int b33; int i,j,t; for(i=0;i=i&j3-i;j+) t=bij;bij=bji;bji=t; main() int a33;int i,j; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;j3;j+) printf( %d,aij); printf(n); zhuangzhi(a); for(i=0;i3;i+) for(j=0;j-1;i+,j-) str1i=str2j; 7.6写一函数,将两个字符串连接。 lianjie(a,b) char a100,b100; strcat(a,b); main() char str1100,str2100; gets(str1);gets(str2); lianjie(str1,str2); puts(str1); 8.7写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。 fuzhi(a,b) char a100,b100; int i,j=0; for(i=0;ai!=0;i+) if(ai=97|ai=101|ai=105|ai=111|ai=117|ai=65| ai=69|ai=73|ai=85) bj=ai;j+; main() char str1100,str2100; gets(str1); fuzhi(str1,str2); puts(str2); 7.8写一函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空格。如输入1990,应输出1_9_9_0。 char f(b) char b4; int i=0; for(;i=65&str0i=97&str0i=48&str0i=57) b1+; else if(str0i=32) b2+; else b3+; main() char str1100;static int i,a4; gets(str1); tongji(str1,a); printf(zimu Shuzi Kongge Qitan); for(i=0;i=97&str1i=65&str1i=t) strcpy(word0,word1); main() char str0100,longword15; gets(str0); cechang(str0,longword); puts(longword); 7.11写一函数用起泡法对输入的个字符按由小到大的顺序排列。 int paixu(x) int x; int i,j,t; for(j=1;j10;j+) for(i=0;ixi+1) t=xi+1;xi+1=xi;xi=t; main() int y10;int i; for(i=0;i10;i+) scanf(%d,&yi); paixu(y); for(i=0;i10;i+) printf(%5d,yi); printf(n); 7.12用牛顿迭代法求根。方程为: ,系数a,b,c,d由主函数输入。求X在1附近的一个实根。求出后由主函数输出。 double qigen(s,t,u,v) int s,t,u,v; double x,y;x=1; doy=s*x*x*x+t*x*x+u*x+v; x=x-y/(3*s*x*x+2*t*x+u); while(y!=0); return x; main() int a,b,c,d;double x; scanf(%d,%d,%d,%d,&a,&b,&c,&d); x=qigen(a,b,c,d); printf(x=%.3fn,x); 7.13用递归方法求n阶勒让德多项式的值递归公式为 float p(x0,n) int n;float x0; float y; if(n=0|n=1) if(n=1) y=x0;else y=1; else y=(2*n-1)*x0*p(x0,n-1)-(n-1)*p(x0,n-2)/n; return(y); main() float x,y0;int a,i; scanf(%f,%d,&x,&a); y0=p(x,a); printf(y0=%.3fn,y0); 7.14输入10个学生5门课的成绩,分别用函数求:每个学生平均分;每门课的平均分;找出最高分所对应的学生和课程;求平均分方差:=SXi2/n-(SXi/n)2,为一学生的平均分 float x110,x25; float pp(),cc(),find(),xx(); main() char name1020,class520;float score105,o,k=0,max5;int a5,i,j; for(i=0;i10;i+) gets(namei); for(j=0;j5;j+) gets(classj); for(i=0;i10;i+) for(j=0;j5;j+) scanf(%f,&scoreij); pp(score); cc(score); find(score,max,a); o=xx(k); for(i=0;i10;i+) puts(namei); printf(%.3fn,x1i); for(j=0;j5;j+) puts(classj);printf(%.3fn,x2j); for(j=0;j5;j+) printf(%.3f n,maxj); puts(nameaj); puts(classj); printf(o=%.3fn,o); float pp(f) float f105; float sum=0;int i,j; for(i=0,sum=0;i10;i+) for(j=0;j5;j+) sum=sum+fij; x1i=sum/5; float cc(y) float y105; float sum=0;int i,j; for(j=0;j5;j+) for(i=0;i10;i+) sum=sum+yij; x1j=sum/10; float find(z,s,t) float z105,s5;int t5; int i,j; for(j=0,sj=z0j;j5;j+) for(i=0;i10;i+) if(sjzij) sj=zij;tj=i; float xx(q) float q; float f=0,e=0;int i; for(i=0;i10;i+) e=x1i*x1i+e; f=f+x1i; q=e/10-(f/10)*(f/10); return(q); 7.15写几个函数:输个职工的姓名和职工号;按职工号由小到大顺序排序,姓名顺序也随之调整;要求输入一个职工号,用折半法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。 #define N 10 find(a,b) int a,b; int i,j,s,t,cN2; for(i=0;iN;i+) ci1=ai;ci1=i; for(i=0;iN;i+) for(j=0;jci+10) t=ci0;ci0=ci+10;ci+10=t; s=ci1;ci1=ci+11;ci+11=s; for(i=0;iN;i+) bi=ci1; return; lookfor(h,k) int h,k; int i,j; for(i=0;iN;i+) if(hi-k=0) j=i; return j; main() int numberN,xN,i,j,u,p;char nameN20; for(i=0;iN;i+) gets(namei); scanf(%d,&numberi); scanf(%d,&p); find(number,x); u=lookfor(number,p); for(i=0;i-1;i+) if if(48=shui=57) sum=sum+(shui-48)*pow(16,(i-1); else if(65=shui=90) sum=sum+(shui-55)*pow(16,(i-1); else if(97=shui0.1;j+,b/=10); pf(a,j-1); for(i=0,k=j-1;i-1;i-,j+) xi=(int)(unsigned long)(m/pow(10,j)%10)+48; return; main() unsigned long a,b;int j,i; scanf(%ld,&a); for(j=0,b=a;b0.1;j+,b/=10); pf(a,j); puts(x);printf(%dn,j); 或 #includemath.h int x10;unsigned long m; pf(n) int n; int y; if(n=0) y=m%10;x0=y; else y=(unsigned long)(m-pf(n-1)/pow(10,n)%10;xn=y; return(y); main() unsigned long a;int i,j,k;char c11; scanf(%ld,&m); for(j=0,a=m;a0.1;j+,a/=10); pf(j-1); for(i=0,k=j-1;ij;i+,k-) ci=xk+48;c10=0; puts(c); 7.18给出年、月、日,计算该日是该年的第几天。 int find(x,y,z) int x,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 调味品行业趋势分析与应对方案
- 高风险妊娠双向转诊协议书
- 风能领域员工绩效考核制度
- 临建房围挡施工方案的实施
- 高校中高层管理人才培养方案
- 电缆槽与其他设施协调施工方案
- 养老院安全责任制度
- 第二章 多彩缤纷的自然环境(串讲课件)-中华中图版2024七年级地理上册考点总结
- 2024年事业单位招聘考试计算机基础知识复习题库及答案(共700题)
- 动物园卫生管理与清洁制度
- 全国河流水文站坐标
- 高考专题复习:散句与整句变换(课件32张)
- 雾化吸入常见并发症的预防与处理
- 中小学幼儿园数字化教学资源进校园管理办法
- 高效课堂做好笔记 课件-学习习惯的培养主题班会
- 鞍钢鲅鱼圈钢铁基地项目设计方案
- 消化内镜清洗消毒技术操作流程图(最新)
- 人卫版外科学小肠疾病第一、二、三节课件
- 《区块链应用技术》课程教学大纲
- 工程变更洽商记录样板
- 内蒙古蒙特威生物科技有限公司3000吨酪蛋白及衍生产品项目环评报告表
评论
0/150
提交评论