程序设计基础——C语言课后习题参考答案.pdf





《程序设计基础——C语言课后习题参考答案.pdf》由会员分享,可在线阅读,更多相关《程序设计基础——C语言课后习题参考答案.pdf(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课后习题1 答案一、选择题1、A 2、D 3、C二、编程题1.#i ncl u d e i nt m a i n()pri nt f(*H e l l o Worl d!*n);re t u rn 0;)2.f t i ncl u d e i nt m a i n()(pri nt f C*n);pri nt f C*n);pri nt f C*n);pri nt f(*n);re t u rn 0;课后习题2 答案一、选择题1-5、D D B A B6 T 0、D D A A A1 1-1 5、C A A B A1 6、B二、填空题1、5 4,1 4 6,2 5 52、字母,数字,下划线3、
2、(换行字符)换行,(退格字符)移动到当前行的前一个位置,(反斜杠字符)产生反斜杠字符4、f l oa t,d ou b l e,ch a r课后习题3 答案一、选择题1-5、C B D A C D6-1 0、C C B A C1 1-1 5、C A C D B1 6-1 7、C D二、填空题1、-1 62、1 2,43、m/1 0 0,m/1 0%1 0,m%1 04、(注:口表示空格)1 2#1 2 口口口口#3.1 4 1 5 9 2 6 0 0 0#3.1 4 1 5 9 2 6 0 0 0 0#5、5 5,A,B三、编程题1.S d e f i ne P I 3.1 4S i ncl
3、u d e i ncl u d e i nt m a i n()f l oa t r,s,1;s ca nf&r);/*输入圆的半径*/s=P I*r*r;/*计算圆的面积*/l=2*P I*r;/*计算圆的周长*/pri nt f C r=%4.I f,s=%4.I f,1=/4.l f n”,r,s,1);re t u rn 0;)运行结果:3/r=3.0,s=2 8.3,1=1 8.82.#i ncl u d e i nt m a i n()f l oa t x,y,z,s,v;s ca nf C%f%f%r,&x,&y,&z);/*输入长方体的长、宽和高*/s=2*(x*y+x*z+y
4、*z);/*计算长方体的表面积*/v=x*y*z;/*计算长方体的体积*/pri nt f (/zA re a=%.2 f,V ol u m e=%.2 f rT,s,v);re t u rn 0;运行结果:3 4 5/A re a=9 4.0 0,V ol u m e=6 0.0 03.S i ncl u d e i ncl u d e i nt m a i n()f l oa t xl,yl,x2,y2,x3,y3,a,b,c,p,s;/*输入3个顶点的坐标*/s ca nf&xl,&yl,&x2,&y2,&x3,&y3);/*求第一条边的长度*/a=s qrt(xl-x2)*(xl-x2
5、)+(yl-y2)*(yl-y2);/*求第二条边的长度*/b=s qrt(xl-x3)*(xl-x3)+(yl-y3)*(yl-y3);/*求第三条边的长度*/c=s qrt(x2-x3)*(x2-x3)+(y2-y3)*(y2-y3);p=(a+b+c)/2;/*求三角形的面积*/s=s qrt(p*(p-a)*(p-b)*(p-c);pri nt f (,/A re a=%f n/z,s);re t u rn 0;)运行结果:5 6 3 8 0 2 3 ZA re a=1 2.0 0 0 0 1 3课后习题4答案一、选择题1-5、C C C C C6-8、D B B二、填空题1、02、y
6、%2 或 y%2=l3、(x 0&y 0)|(x 0&z 0&y 0&z 2&x 3|x b&b+c aa=b&b=ca=b|a=c|b=c9、0.6 0 0 0 0 01 0、x#*#*#*1 3 a=1 6,y=6 0三、编程题1.S i ncl u d e i nt m a i nO!i nt a,b,nu m;s ca nf (d,%d,&a,&b);i f(a*a+b*b 1 0 0)nu m=(a*a+b*b)/1 OO;e l s enu m=a+b;pri nt f(%d,nu m);re t u rn 0;)运行结果:(1)测试数据-:3 4/7(2)测试数据二:9 5/12
7、.S i ncl u d e i nt m a i nOIi nt x;f l oa t y;s ca nf(%d,&x);i f(x=0)y=0;e l s e i f(x=1 0)y 二x;e l s e i f(x=2 0)y=1 0;e l s e i f(x 4 0)y=-0.5*x+2 0;pri nt f(%f n,y);re t u rn 0;3.#i ncl u d e i nt m a i n()(i nt s core;ch a r g ra d e;s ca nf (%d ,&s core);/*输入百分制成绩*/s w i t ch(s core/1 0)(ca s
8、e 1 0:ca s e 9:g ra d e=A ;b re a k;ca s e 8:g ra d e=B ;b re a k;ca s e 7:g ra d e=C,;b re a k;ca s e 6:g ra d e=,D);b re a k;d e f a u l t:g ra d e=,E;pri nt f (睨rT,g ra d e);re t u rn 0;运行结果:9 6 /A4.#i ncl u d e i nt m a i nOi nt i;f or(i=l;i =9 9;i+)i f (i*i%1 0=i|i*i%1 0 0=i)pri nt f(%d n,i);re
9、 t u rn 0;)运行结果:1562 57 65.#i ncl u d e i nt m a i nO(i nt n,i,j;pri nt f(“请输入行数:”);sc an f&n);/*外层循环控制输出的行数*/f or(i=l;i =n;i+)(/*输出每行的空格*/f or(j=l;j=i-l;j+)pri nt f();/*输出每行的星号*/f or(j=l;j=2*n+l-2*i;j+)pri nt f(*);/*输出换行符*/pri nt f(rT);|re t u rn 0;)6.#i ncl u d e#d e f i ne E P S I E-7i nt m a i n
10、O(i nt n;d ou b l e x,a n,s u m;pri nt f (i npu t x:);s ca nf (l f ,&x);s u m=O;a n=l;n=l;d o(s u m+=a n;a n*二(-x*x)/(n+1)*(n+2);n+=2;w h i l e (f a b s (a n)=E P S);pri nt f (/zs i n(%.4 1 f)=%.4 1 f n,x,s u m);re t u rn 0;)课后习题5 答案一、选择题1-5、D A B D C6-8、D C B二、填空题1、j=2 j=02、S e a rch S u cce s s f
11、u l!T h e i nd e x i s:53、j+=2 a i a j4、#&*&%三、编程题1.#i ncl u d e t t d e f i ne N 3 0i nt m a i nO!i nt a rra yN,i,j,s u m=O;f l oa t a rrA v e r6;f or(i=0;i N;i+)a rra yi=2*(i+l);f or(i=0;i 6;i+)(/*按顺序求5个数的和*/f or(j=0;j 5;j+)s u m+=a rra y5*i+j;/*求5个数的平均值*/a rrA v e ri=s u m/5.0;f or(i=0;i 6;i+)pri
12、 nt f (,z%.2 f a rrA v e r i);pri nt f(n);re t u rn 0;)运行结果:6.0 0 2 2.0 0 4 8.0 0 8 4.0 0 1 3 0.0 0 1 8 6.0 02.#i ncl u d e#d e f i ne M 5#d e f i ne N 4i nt m a i nOi nt a rrM N=1,2,3,4 ,5,6,7,8 ,9,1 0,1 1,1 2 ,1 3,1 4,1 5,1 6 ,0,0,0,0 ;i nt i,j;f or(j=0;j N;j+)f or(i=0;i M-l;i+)a rrM-l j+=a rri j;
13、f or(j=0;j N;j+)pri nt f (z/%d ”,a rrMT j);pri nt f(n);re t u rn 0;运行结果:2 8 3 2 3 6 4 03.#i ncl u d e d e f i ne M 5#d e f i ne N 4i nt m a i n()i nt a MN;i nt i,j,m a xj,cou nt=0,f l a g;pri nt f (“请输入%d*%d 阶矩阵 A:n,M,N);f or(i=0;i M;i+)f or(j=0;j N;j+)sc an f&a i j );f or(i=0;i M;i+)m a xj=0;f or(j
14、=l;j N;j+)/*找到第i行中最大的那个元素的列下标*/i f (a i m a xj a i j)m a xj=j;f l a g=l;/*定位第m a xj歹U,看看a i m a xj是否是该列中最小的那个元素如果是不是,则f l a g为0;如果是,则f l a g保持为1*/f or(j=0;j M;j+)i f(a jm a xj a i m a xj)f l a g=0;i f(f l a g=l)(cou nt+;pri nt f (第 个鞍点:a%d%d 二%d n,cou nt,i,m a xj,a i m a xj);)i f(cou nt=0)pri nt f (
15、没有鞍点);re t u rn 0;)4.#i ncl u d e#d e f i ne N 4 0i nt m a i nOIch a r s t r N,i,j=0,i Ma x,m a x,cou nt;ch a r i ns e rt S t r 5 =,m ,a ,x,);pri nt f (输入一个字符串:);g e t s (s t r);cou nt=s t rl e n(s t r);m a x=s t rO;/*假设字符串的第一个字符最大*/i Ma x=O;/*字符串中最大字符的下标置为0*/f or(i=l;i m a x)m a x=s t ri ;/*字符串中最大的
16、字符存放到m a x中*/i Ma x=i ;/*字符串中最大的字符的下标存放到i Ma x中*/*字符串最大的字符后的字符依次往后移动5 个字符*/f or(i=cou nt-l;i i Ma x;i 一)s t ri+5=s t ri;/*字符串最大的字符后插入字符串(m a x)*/f or(i=i Ma x+l;i =i Ma x+5;i+)(s t ri=i ns e rt S t rj;j+:)/*新串的末尾加上0*/s t rcou nt+5=,0;pu t s (s t r);re t u rn 0;)运行结果:MyF ri e nd ZMy(m a x)F ri e nd5.
17、#i ncl u d e#d e f i ne M 4 0#d e f i ne N 2 0i nt m a i nOch a r s t rA M,s t rB N,cnt B,i=O,j=O:pri nt f(“请输入字符串a:);g e t s(s t rA);pri nt f (请输入字符串b:);g e t s(s t rB);cnt B=s t rl e n(s t rB);/*找到a串的末尾*/w h i l e(s t rA i!=O)i+;i f(cnt B 5)(/*将b串的所有字符都连接到a串末尾*/w h i l e(s t rB j!=,O?)(s t rA i+j=
18、s t rB j;j+;)e l s e(/*将b串的前5个字符连接到a串末尾*/w h i l e(j 5)s t rA i+j=s t rB j;j+;)/*新串的末尾加上串结束标志o*/s t rA i+j-0 ;pu t s(s t rA);re t u rn 0;)运行结果:(1)测试数据一:请输入字符串a:h u b e i/请输入字符串b:w u h a n/h u b e i w u h a n(2)测试数据二:请输入字符串a:s h a nxi Z请输入字符串b:xi a nZh u b e i w u h a n6 .略7 .#i ncl u d e#d e f i ne
19、N 6i nt m a i n()/*学生的学号数组*/ch a r nu m N9 =9 9 0 7 7 1 0 1”,“9 9 0 7 7 1 0 2”,9 9 0 7 7 1 0 3”,“9 9 0 7 7 1 0 4”,“9 9 0 7 7 1 0 5”,“9 9 0 7 7 1 0 6”,t m pNu m 9;/*学生的姓名数组*/ch a r na m e N 8 =张红,王建,王连,李立,刘虹”,“丁平,t m pNa m e 8;/*学生的四门课程数组*/i nt s core N 4 =8 5,9 0,9 2,8 8 ,9 0,9 5,9 5,9 0 ,7 6,7 8,8
20、0,7 0 ,5 6,3 6,6 6,9 7 ,7 8,7 9,8 7,8 9 ,8 9,7 9,7 0,8 7 ,t m pS core;i nt s u m N,i,j,k;f l oa t a v e r N,t m pA v e r;/*学生平均分数组*/*求每个学生4门课程成绩的总分s u m和平均分a v e*/f or(1=0;i N;i+)(s u m i=0;/*每个学生4门课程成绩总分置0*/f or(j=0;j 4;j+)s u m i+=s core i j;a v e ri=(f l oa t)s u m i/4;)/*用冒泡排序法将学生信息按升序排序*/f o r(
21、i=l;i N;i+)f o r(j=0;j av erj+1)(/*交换平均成绩*/tm pAv er=av erj;av erj=av erj+l;av erj+l=tm pAv er;/*交换学号*/strcpy(tm pN u m,n u m j);strcpy (n u m j,n u m j+l);strcpy (n u m j+l,tm pN u m);/*交换姓名*/strcpy(tm pN am e,n am ej);strcpy(n am ej,n am ej+1);strcpy(n am ej+l,tm pN am e);/*交换成绩*/f o r(k=0;k 4;k+)
22、(tm pSco re=sco rej k;sco rej k=sco rej+l k;sco rej+1k=tm pSco re;)/*按格式输出学生所有信息*/pri n tf C 学号t 姓名 t 数学 t 物理 t 英语t计算机t平均成绩n);f o r(i=0;i N;i+)(pri n tf (z/%st%st/z,n u m i,n am ei);/*输出学号和姓名*/f o r(j=0;j 4;j+)pri n tf (%4d t”,sco ref i j);/*输出 4 科成绩*/pri n tf (z/%6.av eri);/*输出平均分*/retu rn 0;课后习题6答
23、案一、选择题1-5、D BAD A6-10、BABBB二、填空题k 0 2 4 6 8 10 12 14 16 180 2 4 6 8 10 12 14 16 182、8,173、10104、7三、编程题1.#i n cl u d e i n t F(i n t);i n t m ai n Oi n t a;pri n tf (i n pu t a n u m ber:z,);s c a nf&a);i f (F(a)=O)pri n tf (不是水仙花数。n);el sepri n tf (是水仙花数。n);retu rn 0;)i n t F(i n t a)i n t b,c,d;b=a
24、/100;/*百位*/c=a%l 00/10;/*十位*/d=a%10;/*个位*/i f (a=b*b*b+c*c*c+d*d*d)retu rn 1;el seretu rn 0;2.#i n cl u d e#i n cl u d ei n t f u n (ch ar str,i n t n u m口)i n t i,f=0,n=0,j=0;f o r(i=0;i=,0&stri 0);f=l;)retu rn (j);)i n t m ai n O1ch ar stri n g 3O;i n t n u m ber30;i n t n,i;g ets(stri n g);n=f u
25、n(stri n g,n u m ber);f o r(i=0;i n;i+)pri n tf (,z%d z/,n u m ber i);retu rn 0;)3.(1)递归程序Si n cl u d e i n t h al f (i n t s,i n t a,i n t b,i n t k ey)i n t m i d;i f(a=b)i f(k ey=sa)retu rn (a);el seretu rn (-1);el sem i d=(a+b)/2;i f(k ey sm i d)retu rn (h al f (s,m i d+1,b,k ey);i f(k ey=sm i d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 语言 课后 习题 参考答案

限制150内