C程序习题答案.doc

上传人:飞****2 文档编号:60091765 上传时间:2022-11-13 格式:DOC 页数:14 大小:47KB
返回 下载 相关 举报
C程序习题答案.doc_第1页
第1页 / 共14页
C程序习题答案.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《C程序习题答案.doc》由会员分享,可在线阅读,更多相关《C程序习题答案.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、参考答案习题二 (P33)一单选题1.C 2.B 3.D 4.C 5.A 6.D 7.D 8.B 9.B 10.D 11.D 12.C 13.C . 15. A14题最后一句应为printf(%fn,d*y);结果为2.2二填空题1. 18 2. int float double 3. 10 11 4. 八 十六 十 5. %三阅读程序题110,10,9,102j=1,i=2 k=3,i=3 j=3,i=2 k=1,i=1习题三 (P52)一单选题1.D 2.C 3.D 4.B 5.A 6.B 7.C 8.A 9.C 10.B 11. -1,二填空题5. L 6. -1三阅读程序题1. 6 6

2、 6.00 6.002. x=127,x= 127,x=177,x=7f Y=123.4567 , y= 123.46 , y=123.456703. 2,14. 12345. 4,36. -6,-6四程序设计题1#include stdio.h#include math.hmain() float a,b,c,d,x1,x2; a=2;b=-3;c=-5; d=b*b-4*a*c; x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(x1=%.2f,x2=%.2fn,x1,x2);2.#include main() float a,v,s;

3、scanf(%f,&a); v=a*a*a;s=6*a*a; printf(v=%.2f,s=%.2fn,v,s); 3.#include main() int a,b,c,t; scanf(%d%d%d,&a,&b,&c); printf(a=%d,b=%d,c=%dn,a,b,c); t=c;c=b;b=a;a=t; printf(a=%d,b=%d,c=%dn,a,b,c); 4.#include main() char s1,s2; s1=getchar(); s2=s1-32; printf(%cn,s2); 习题四 (P70)一单选题1.C 2.D 3.D 4.B 5.A 6.D

4、7.D 8.B 9.C 10.A 11.B 12.D 13.passwarnerror . 14.C 15. C 16.B 17. B 18. C二填空题1. 非0 0 2. k=0 3. n%7=0 & n%8=0 else三阅读程序题1. a=1,b=0 2. c=1四程序设计题1.#include main() int a,b; char c; scanf(%d%c%d,&a,&c,&b); switch(c) case+:printf(%d+%d=%dn,a,b,a+b);break; case-:printf(%d-%d=%dn,a,b,a-b);break; case*:print

5、f(%d*%d=%dn,a,b,a*b);break; case/:printf(%d/%d=%dn,a,b,a/b);break; default:printf(INPUT ERROR!); 2.#include main() float x,y; scanf(%f,&x); if(x=0|x=2)y=0; else if(x0) y=(x+1)/(x-2); else y=(x-1)/(x-2); printf(y=%fn,y);3.#include main() int g; printf(请输入学生成绩:); scanf(%d,&g); printf(g=%d:,g); switch(

6、g/10) case 10:printf(An);break; case 9:printf(Bn);break; case 8:printf(Cn);break; case 7:printf(Dn);break; case 6:printf(En);break; default:printf(Fn); 4.#include int main(void)int x,i; printf(Enter x:n); scanf(%d,&x); if (x/1000) i=4; else if (x/100) i=3; else if (x/10) i=2; else i=1;printf(“%d是%d位

7、数”,x,i); return 0;习题五 (P87)一单选题1.B 2.D 3.C 4.C 5.B 6.C 7.D 8.C 9.A 10.D 11.B 12.B 13.B 14.D 15. C 二填空题1. for语句 while语句 do-while语句2. a=14,y=263. k=14,n= -14. 395. s=196. 222227. 108. 79. 810. 5,5三改错题应改为for(i=0;i5;i+)j+;应改为int j=0;while(j10)j+;i=j; 注while(j10)后不应有分号应改为while(j10); 注while(j10)后分号不能少s*=i

8、;i+;应改为s*=i;i+; continue 应改为 break四程序设计题1.#include main() int i,j,s=0; for(i=1,j=1;i=100;i+,j=j*(-1) s=s+i*j; printf(s=%dn,s);1.(另一做法)#includemain() int i,s; for(i=1,s=0;i=100;i+) if(i%2=0)s=s-i; else s=s+i; printf (%dn,s);2#include main() int i,j,s1=0,s2=0; for(i=0;i0)s1=s1+j; else s2=s2+j; printf(

9、s1=%d,s2=%dn,s1,s2);3#includemain() int i,s; for(i=6,s=0;i=96;i=i+1) if(i%10=6|i/10=6) s=s+i; printf (%dn,s);4#includemain() int i,a,b,c; for(i=100;i=999;i+)a=(i%10);b=(i/10%10);c=(i/100); if(i=a*a*a+b*b*b+c*c*c) printf (%dn,i);5#include main( ) int i,j,k=0; for (i=1;i=4;i+) for (j=1;j=i;j+) k+;prin

10、tf(%d,k%10); printf(n); 6.#include main( ) int i,j,k=0; for (i=-3;i=3;i+) if(i0)k=-i;else k=i; for(j=1;j=k;j+) printf( ); for(j=1;j=7-2*k;j+) printf(*); printf(n);习题六 (P111)一单选题1.D 2.B 3.C 4.C 5.C 6.D 7.A 8.B 二填空题1. 20 0 192. 数组名3. 越界4. 65. j=k ajk=1; ajk=0;三阅读程序题1 6 5 4 3 2 12 aaa bbb ccc ddd3 2,2,

11、1四程序设计题1.#includemain() int a44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16; int i,j,s=0; for(i=0;i4;i+) for(j=0;j4;j+) if(i=j|i+j=3)s+=aij; printf(%d,s);2.#include main() char a80; int i,j=5; /*假设删除位置为5*/ gets(a); for(i=j-1;ai!=0;i+) ai=ai+1; ai=0; puts(a);3#include #include main() char a80; int i,j=5;

12、/*假设插入位置为5*/ char s=t; /*假设插入字符为t*/ gets(a); for(i=strlen(a);ij;i-) ai+1=ai; aj=t; puts(a);4#includemain() int a35=1,3,5,7,9,2,4,6,8,10,3,5,8,7,6; int i,j,s13=0,s25=0; for(i=0;i3;i+) for(j=0;j5;j+) s1i+=ai j; for(i=0;i5;i+) for(j=0;j3;j+) s2i+=a ji; for(i=0;i3;i+) for(j=0;j5;j+) printf(%6d,aij); pri

13、ntf ( |%6dn,s1i); for(i=0;i33;i+) printf(-); printf(n); for(i=0;i5;i+) printf(%6d,s2i); printf(n);5#includemain() char s380; int a=0,b=0,c=0,d=0,e=0,i,j; for(i=0;i3;i+) gets(si); for(i=0;i=A&sij=a&sij=0&sij=9)c+; else if(sij=32)d+;else e+; printf(%3d%3d%3d%3d%3d,a,b,c,d,e);习题七 (P145)一单选题1.A 2.B 3.C

14、4.A 5.C 6.D 7.C 8.B 9.B 10.C 11.D 二填空题1. 该函数内 局部2. 整型3. k=b return y;4. xi return (ave); fun(a,20)5. 1; add(n-1); add(n);6. n*f(n-1)0;f(i)三阅读程序,写出运行结果1 10,20,302 643 84. hlo5. sum=55四程序设计题1.#include main()float add(float, float), sub(float, float);float aver(float, float),a,b;scanf(%f,%f,&a,&b);prin

15、tf(add=%f, sub=%fn , add(a,b), sub(a,b);printf(aver =%f, aver(a,b);float add(float x, float y) return(x+y);float sub(float x, float y) return(x-y);float aver(float x, float y) return(x+y)/2);2.#includemain() int a,b,c,abmax(int,int); scanf(%d%d%d,&a,&b,&c); printf(max=%dn,abmax(abmax(a,b),c);int abm

16、ax(int a,int b)if(ab)return a; else return b;3.#include main()float x,fun(float, int);int n; scanf(%f%d,&x,&n);printf(%fn, fun(x,n);float fun(float x, int n)float y;if(n=0)y=1;else y=x*fun(x,n-1);return y;4.#include main()long f(int);int n,k; scanf(%d,&n);for(k=1;k=n;k+)printf(%ld,f(k);printf(n);lon

17、g f(int n)long y;if(n=2)y=1;else y=f(n-1)+f(n-2);return y;5.#include #include main() char a50;int n;void fun(char x ,int n); gets(a);n=strlen(a); fun(a,n); puts(a); void fun(char a ,int n)int k,s; for(k=0;kn/2;k+)s=ak;ak=an-k-1;an-k-1=s;5. (另一做法)#include #include main() char a50;int n;void fun(char

18、x ,int n); gets(a);n=strlen(a); fun(a,n); puts(a); void fun(char a ,int n)int k; char b50; for(k=0;kn;k+) bn-1-k=ak; bk=ak;strcpy(a,b);6.#include #define KK 100main() char aKK;long sjz(char a);int i=0,f1=0;printf(input a data:);gets(a);for(i=0;ai!=0;i+)if(ai=0&ai=A&ai=a&ai=0&ai=A&ai=a&ai=f)n=n*16+ai

19、-a+10; return n;6.(另一做法)#include #define KK 100main() char strKK,c;long sjz(char a);int i=0,f1=0;printf(input a data:);while(c=getchar()!=n&i=0&c=A&c=a&c=0&ai=A&ai=a&aiz&*strz a6. else 0 t2*j+1五程序设计题1.#include main()int a10,*p,*q,t;p=a;for(q=a;qa+10;q+)scanf(%d,q);for(q=a;qa+10;q+)printf(%5d,*q);pri

20、ntf(n);q-;for(;pq;p+,q-)t=*p;*p=*q;*q=t;for(p=a;pa+10;p+)printf(%5d,*p);printf(n);2.#include #include void main( ) char a50,*p1,*p2,t,n; gets(a);n=strlen(a); p1=a; p2=a+n-1; for(; p1p2; p1+, p2-) t=*p1; *p1=*p2; *p2=t; puts(a);另一做法#include main()char str20,*p=str;gets(str);while(*p)p+;p-;while(p=str

21、)printf(%c,*p);p-;printf(n);3.#include main()int a10,*p,*max,*min,t;for(p=a;pa+10;p+)scanf(%d,p);for(p=a;pa+10;p+)printf(%5d,*p);printf(n);max=min=a;for(p=a+1;p*max)max=p;if(*p*min)min=p;t=a0;a0=*min;*min=t;t=a9;a9=*max;*max=t;for(p=a;pa+10;p+)printf(%5d,*p);printf(n);5.#include int length(char *s)i

22、nt n=0;while(*s)n+;s+;return n;main()char str20;int n;gets(str);n=length(str);printf(The string length is %dn,n);6.#include main()char str81,*p=str,*q,t;gets(str);printf(The origenal string:n);puts(str);for(p=str;*(p+1);p+) for(q=p+1;*q;q+) if(*q*p)t=*p;*p=*q;*q=t;printf(The result string:n);puts(str);习题九 (P222) (注:无答案的题不在本课程讲授范围内)一单选题1.D 2.A 3.B 4.D 8.B 9.B 10.C 二填空题1. 结构体成员 结构体指针指向2. 343. 224 ex三阅读程序题1 92 10,x3 134. 46 40 415. 06. 3839

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁