C语言程序设计第四版第七章答案 谭浩强.doc
《C语言程序设计第四版第七章答案 谭浩强.doc》由会员分享,可在线阅读,更多相关《C语言程序设计第四版第七章答案 谭浩强.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章函数 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,m
2、ax,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=%
3、.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 xu
4、gen(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写一个函数,使给定的一个二维数组()转置,即行列
5、互换。 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,
6、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
7、,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 Ko
8、ngge 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+)
9、 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
10、,&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门课
11、的成绩,分别用函数求:每个学生平均分;每门课的平均分;找出最高分所对应的学生和课程;求平均分方差:=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(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计第四版第七章答案 谭浩强 语言程序设计 第四 第七 答案
限制150内