c语言程序设计习题答案(6-13)

上传人:第*** 文档编号:34224519 上传时间:2018-02-22 格式:DOC 页数:30 大小:235.50KB
返回 下载 相关 举报
c语言程序设计习题答案(6-13)_第1页
第1页 / 共30页
c语言程序设计习题答案(6-13)_第2页
第2页 / 共30页
c语言程序设计习题答案(6-13)_第3页
第3页 / 共30页
c语言程序设计习题答案(6-13)_第4页
第4页 / 共30页
c语言程序设计习题答案(6-13)_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《c语言程序设计习题答案(6-13)》由会员分享,可在线阅读,更多相关《c语言程序设计习题答案(6-13)(30页珍藏版)》请在金锄头文库上搜索。

1、1C 语言程序设计习题答案习题六 数组一、选择题110: BDBCD CDBAB1120:BCDCC DABBC2130:CCADC ABBCB3141:BDDDD CDCCB A二、填空题1 9 、 0 2 先行后列 3 连续的存储空间中 4 QuickC 5. (c=getchar( ) 、 A+i 或 65+i 6. 0 、 str1i-str2i 7 CDABC 8 10 14 9 6 10 1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 111 600 12 AzyD 13 4 some string *test 三、编程题1. 定义一个有 2

2、0 个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。答:程序参见文件 Cprogramxt6_3_01.c #include stdio.h#include math.hmain()int i,s0=0,s1=0,a20;for(i=0;iai) i+;elsewhile(si;j-)aj=aj-1;aj=s;for(i=0;i=j)ak+1=ak;k-;aj=bi;i+;printf(string3: %sn,a);816. 将已按升序排列的两个字符串 a 和 b 中的字符按升序归并到字符数组 c 中。答:程序参见文件 Cprogramxt6_3_16.c #include std

3、io.h#include string.hmain()int i,j,k;char a81=acdfhjklmopxz;char b81=abdnx;char c81;printf(string1: %sn,a);printf(string2: %sn,b);i=0;j=0;k=0;while(ai!=0&bj!=0)if(aifun(int m) return (m%4=0)main() int n;for (n=1987;n#include float fun(float a,float b,float c)float f,s;s=(a+b+c)/2;if(sc&(a+c)b&(b+c)a

4、f=0;elsef=sqrt(s*(s-a)*(s-b)*(s-c);return f;main() float a,b,c;scanf(%f%f%f,printf(area is:%fn,fun(a,b,c);3. 编写两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。答:程序参见文件 Cprogramxt7_3_03.c #include #include int fmax(int m,int n)int r;r=m%n;while (r!=0)m=n;n=r;r=m%n;10return n;int fmin(int m,int

5、n) return m*n/fmax(m,n);main() int a,b;scanf(%d%d,printf(fmax is:%dn,fmax(a,b);printf(fmin is:%dn,fmin(a,b);4. 编写函数,根据整型形参 m 的值,计算公式t=1- - - 的值。例如,若 m=5,则应输出 0.536389。2*13*1答:程序参见文件 Cprogramxt7_3_04.c #include float fun(int m)float t=1;int i;for(i=2;ifloat fun(int m)int i;float s=0,t=1;for(i=1;idoub

6、le fun()int n; double pi=1,t=1;n=1;11dot=t*n/(2*n+1); pi=pi+t; n+;while(t1e-5);return 2*pi;main() printf(pi=%fn,fun();7. 编一函数,判断某一整数是否为回文数,若是返回 1,否则返回 0。所谓回文数就是该数正读与反读是一样的。例如 12321 就是一个回文数。答:程序参见文件 Cprogramxt7_3_07.c #include #include int huiwen(int m)int t,n=0;t=m;while(t)n+; t=t/10; /求出 M 是几位的数t=m

7、;while(t)if(t/(int)pow(10,n-1)!=t%10) /比较其最高位和最低位return 0;elset=t%(int)pow(10,n-1); /去掉其最高位t=t/10; /去掉其最低位n=n-2; /位数去掉了两位return 1;main() int x;scanf(%d,if (huiwen(x)printf(%d is a huiwen!n,x);elseprintf(%d is not a huiwen!n,x);8. 编写一个求水仙花数的函数,然后通过主函数调用该函数求 100 到 999 之间的全部水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和

8、等于该数本身。例如:153 就是一个水仙花数:153=1*1*1+5*5*5+3*3*3答:程序参见文件 Cprogramxt7_3_08.c #include #include int fun8(int m)int a,b,c;a=m/100; b=m/10%10; c=m%10;if(m=a*a*a+b*b*b+c*c*c)return 1;12elsereturn 0;main() int i;for(i=100;i#include void primedec(int m)int n=2;while(m1)while(m%n=0)printf(%d ,n);m=m/n;n+;printf

9、(n);main() int x; scanf(%d, 10. 求 100200 之间的所有素数,按每行 6 个输出。答:程序参见文件 Cprogramxt7_3_10.c #include #include int prime(int m)int n,f=1;for(n=2;n#include int reverse(int m)int x=0;while(m)x=x*10+m%10;m=m/10;return x;main() int w;scanf(%d,printf(%d=%dn,w,reverse(w);12. 编一函数,将一个字符数组中的数字字符存于另一个字符数组中。答:程序参见文

10、件 Cprogramxt7_3_12.c #include #include void fun12(char a,char b)int i=0,j;for(j=0;j=0&bj#include void fun13(char s)int i,num=0,ch=0,sp=0,oh=0;char c;for(i=0;(c=si)!=0;i+)if(c= ) sp+;else if(c=0else if(toupper(c)=A else oh+;printf(char:%d,number:%d,space:%d,other:%dn,ch,num,sp,oh);main() char s181;14

11、gets(s1);fun13(s1);14. 用递归的方法实现求 1+2+3+n。答:程序参见文件 Cprogramxt7_3_14.c #include #include int fun14(int m)int w;if(m=1)w=1;else w=fun14(m-1)+m;return w;main() int x,i;scanf(%d,printf(1+2+.+%d=%dn,x,fun14(x);15. 用递归的方法将一个整数转换成字符串。例如:输入 345,应输出字符串“345”。答:程序参见文件 Cprogramxt7_3_15.c #include #include void f

12、un15(int m) if(m!=0)fun15(m/10);printf(%c ,0+m%10);main() int x;scanf(%d,printf(%d=,x);fun15(x);printf(n);16. 用递归的方法计算下列函数的值:p(x,n)=x-x2+x3-x4+(-1)n-1xn n0答:程序参见文件 Cprogramxt7_3_16.c #include stdio.h#include math.hfloat p(float x,int n)float f;if(n=0)15f=0;elsef=p(x,n-1)+pow(-1,n-1)*pow(x,n);return

13、f;main()printf(p(2,3)=%f,p(2,3);17. 采用递归的方法计算 x 的 n 次方。答:程序参见文件 Cprogramxt7_3_17.c #include stdio.h#include math.hfloat p(float x,int n)float f;if(n=0)f=1;elsef=p(x,n-1)*x;return f;main()printf(p(2,8)=%f,p(2,8);18. 根据勒让德多项式的定义计算 Pn(x)。n 和 x 为任意正整数,把计算 Pn(x)定义成递归函数。1 n=0Pn(x) = x n=1(2n-1)Pn-1(x)-(n-

14、1)Pn-2(x)/n) n1 答:程序参见文件 Cprogramxt7_3_18.c #include stdio.hfloat p(float x,int n)float f;if(n=0)f=1;else if(n=1)f=x;elsef=(2*n-1)*p(x,n-1)-(n-1)*p(x,n-2)/n;return f;main()printf(p(2,8)=%f,p(2,8);习题八 用户标识符的作用域和存储类一选择题110:ADBBC CABDB1611-20: DBABC CCDAC二填空题1. 静态局部变量的作用域是 从定义点到函数体(或复合语句)结束 。2. 凡在函数中未指定存储类别的变量,其隐含的存储类别为 auto 。3. 变量的作用域是指变量的有效范围,在作用域内可以引用该变量。按作用域来说,变量可分为 局部 变量和 全局 变量。4. 根据函数能否被其它源文件调用

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

最新文档


当前位置:首页 > 办公文档 > 解决方案

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