程序设计基础(C语言)第3版习题及答案.pdf

上传人:无*** 文档编号:88836473 上传时间:2023-05-04 格式:PDF 页数:105 大小:9.01MB
返回 下载 相关 举报
程序设计基础(C语言)第3版习题及答案.pdf_第1页
第1页 / 共105页
程序设计基础(C语言)第3版习题及答案.pdf_第2页
第2页 / 共105页
点击查看更多>>
资源描述

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

1、第 1 章C语言概述【习 题 1-1 简述C语言的特点。答:C语言的特点:C 语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;c 是结构式语言;C语法限制不太严格,程序设计自由度大:C语言允许直接访问物理地址:c 语言程序生成代码质量高;C 语言适用范围大,可移植性好。【习题1-2】简述上机调试运行C程序的操作步骤。答:上机运行C语言程序的操作步骤为:启 动 V is u a l C+6.O f 建立工程f 创建源程序文件一输入(编辑)源程序内容一保存源程序文件一编译源程序文件一连接目标程序一执行程序一开始另一个程序。【习题1-3 上机运行本章的3 个例题。答:略。【习题1-4】请从

2、以下的4个选项中选择一个正确答案。(1)A (2)A (3)C (4)B【习题5】参照本章例题,编写一个C语言程序,输出以下信息:N ice t o meet yo u!编写程序如下:#inclu dev o id ma in 0(p r int f(*n);p r int f(N ice t o meet yo u!n);p r int f(*n);)第 2章 基本数据类型和运算符 习题2 7 上机编辑并调试本章所有例题。答:略。【习题2-2】下面哪些是合法的常量?2 0 0.5 0 1 2 1 3 e5.1 E-5 8 e4 5.0 x 6 a mn O K a 0 1 2 a/b 答:合

3、法的常量有:2 0 0.5 0 1 2 8 e4 5.0 x 6 a合法的常量有:O K a 0 1 2 a/b 【习题2-3 下面的变量名中哪些是合法的?A&b a b cl2 3 a b c%A b C a _ b _ cint a b c 1 2 3 a b c a b?ca b e a*b c a,b e答:合法的变量名有:a b c 1 2 3 A b C a b _ c a b c【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?(D int i,j;flo a t a,b;(3)int a,b;flo a t a,b;(4)flo a t a,int b;(5

4、)cha r a);答:错误,因为关键字I nt应该全为小写字母正确错,因为同一变量在程序的同一处不应该声明为不同的数据类型错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号错,a 表示字符常量,不能用作变量名【习题2-5】把下列数学式子写成C语言表达式。(1)3.26 ex+i (a+b)43(2)2 +-+b3s i n(x)g*o 2r(4)2n r+7 t r2+c os(4 5 )loanrate(y+rater(1+rate)Mh-1对应的C语言表达式分别为:(1)3.26*e x p(x)+l.0/3*p ow(a+b,4)(2)2*s q r t(x)+(a+b)/(

5、3*s i n(x)(3)g*m l*m 2/(r*r)(4)2*3.14*r+3.14*r*r+c os(3.14/18 0*4 5)(5)l oa n*r a t e*p ow(l+r a t e,m on t h)/(p ow(l+r a t e,m on t h)-1)【习题2-6】C语言中为什么要引入转义字符?答:在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如a、b、$等。但另一类字符却没有这种特性。它们或者在键盘上找不到对应的一个键,或者当按键以后不能显示键面上的字符,为了解决这 问题,在

6、C语言中引入了转义字符。【习题2-7】逻辑表达式的值是什么?只能用1和0才能表示真值和假值吗?答:逻辑表达式的值是一个逻辑量“真”或 者“假”,不是只有用1表示真值,用0表示假值,在判断一个量为真假时,常以0表示假,以非。表示真。【习题2-8 对于表达式(l+2)*(y=3),可以肯定(1+2)先计算,而(y=3)后计算吗?答:不 能。【习题2-9 “&”和“II”严格地执行运算符优先级的规则吗?它的规则是什么?答:逻辑运算符不按照规定的优先级计算。在逻辑表达式的求值过程中,如果从“&”或“II”左边的运算对象部分已经能够确定整个逻辑表达式的值,则不再求右边运算对象的值,这样做提高了运算速度。

7、具体地说:若“&”的左运算对象值为0,则不再对右运算对象求值,因整个式子的结果必定为0。若“II”的左运算对象值为非0,则不再对右运算对象求值,因整个式子的结果必定为I。以上所说的这种运算的规则是c对逻辑运算的特殊处理规则。它严格地执行从左到右运算的规则,不受运算符优先级所影响。【习题2-10】字符常量和字符串常量有什么区别?答:字符常量和字符串常量的区别:从形式上看,字符常量使用单引号,而字符串常量使用双引号。从内部存储来看,编译程序在每个字符串的尾部自动加上了一个空字符N U L L(即0)作为字符串的结束标志,而字符常量则不存在这种情况。【习题2-11招下面语句组进行简写。(Di n t

8、 i;i n t j;x=0;y=0;G 3)x=x+y;(4)i n t x,y;x=y-(y/10)*10;i n t x;x=x+l;(6)y=x;一x;对应的简写语句分别为:(1)i n t a,b;(2)x=y=0;(3)x+=y;(4)i n t x,y;x=y%10;(5)i n t x;x+;或 x+=l;或+x;(6)y=x 一;【习题2-12写出下面程序运行后的结果。程序运行结果:2,3程序运行结果:y=5.000000程序运行结果:c h l=6 5,c h 2=9 7B,b(4)程序运行结果:0,4 8程序运行结果:0221(6)程序运行结果:a,A,3 2,3 2程序

9、运行结果:01,60,1 5,1 5程序运行结果:2,2,11,2,10,2,2-1,2,2程序运行结果:324程序运行结果:323,343,4,401第3章 顺序和选择结构程序设计【习题3-1】请从以下的4个选项中选择1 个正确答案。1 .结构化程序设计的三种基本结构是()。A.函数结构、判断结构、选择结构 B.平行结构、嵌套结构、函数结构C.顺序结构、选择结构、循环结构 D.判断结构、嵌套结构、循环结构【正确答案】C2 .p ut c ha r()函数可以向终端输出一个(A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值【正确答案】D3 .若已定义d o ub l e y;

10、拟从键盘输入一个值赋给变量y,则正确的函数调用是()。A.s c a n f(%d ,&y);C.s c a n f(%l f ,&y);【正确答案】C4,若有以下定义:fl o a t x;in t a,A.s wit c h(x)c a s e 1.0:p r in t f(*n );c a s e 2:p r in t f(*n )C.s wit c h(a+b)c a s e 1:p r in t f(*n );c a s e 2:p r in t f(*n );)B.s c a n f(7.2 f ,&y);D.s c a n f(%l d ,&y);b;则正确的s wit c h语

11、 句 是()。B.s wit c h(x)c a s e 1,2:p r in t f(*n );c a s e 3:p r in t f(*n );D.s wit c h(a-b);c a s e l:p r in t f(*n );c a s e 2:p r in t f(*n );)组成配对关系【正确答案】C5.为了避免嵌套的if-el s e语句的二义性,C 语言规定el s e总是与(A.缩排位置相同的if B.在其之前未配对的ifC.在其之前尚未配对的最近的if D.同一行上的if【正确答案】B【习题3-2 if语句有那3种形式,请分别画出每种形式的执行流程图。【参考答案】(1)顺

12、序结构(3)循环结构(当型循环)循环结构(直到型循环)【习题3-3】下面哪些语句是合法的?(1)if(a=b)p r in t f(,Hel l o,0 ;(2)if(a=b)p r in t f(,Hel l o,z)(3)if(a=b)p r in t f(Hel l o )el s ep r in t f(Go o d b ye);(4)if a=bp r in t f(Hel l o );【正确答案】(1)合法。(2)不合法。(3)不合法。(4)不合法。【习题3-4】读程序写结果。(1)从键盘输入5 8#in c l ud evo id m a in()(in t a;scanf&a)

13、;if(a 5 0)p r in t f(A=%d,a);if(a 4 0)p r in t f(B=%d,a);if(a 3 0)p r in t f(O%d,a);)答案:A=5 8 B=5 8 C=5 8(2)#in c l ud evo id m a in()(in t x=1 0,y=2 0,t=0;if(x=y)t=x;x=y;y=t;p r in t f(d,%d n,x,y);答 案:2 0(3)#in c l ud evo id m a in()(in t p,a=5;if(p=a!=0)p r in t f(绘d n”,p);el s ep r in t f(d n,p+2

14、);)答案:1(4)#in c l ud evo id m a in()(in t a=4,b=3,c=5,t=0;if(a b)t=a;a=b;b=t;if(a c)t=a;a=c;c=t;p r in t f(/z%d%d%d n,a,b,c);答案:5 3 4(5)#in c l ud evo id m a in()(in t i,m=0,n=0,k=0;fo r(i=9;i=l l;i+)s wit c h(i/1 0)c a s e 0:m+;n+;b r ea k;c a s e 1 0:n+;b r ea k;d efa ul t:k+;n+;)p r in t f(d%d%d

15、n,m,n,k);)答案:1 3 2(6)#in c l ud evo id m a in()in t n=0,m=l,x=2;if(!n)x-=l;if(m)x-=2;if(x)x-=3;p r in t f C%d n/Z,x);)答案:-4(7)#in c l ud evo id m a in()(in t x=l,y=0,a=0,b=0;s wit c h(x)c a s e 1:s wit c h(y)c a s e 0:a+;b r ea k;c a s e 1:b+;b r ea k;)c a s e 2:a+;b+;b r ea k;)p r in t f(/d%d nzz,a

16、,b);)答案:2 1(8)#in c l ud evo id m a in()(in t a=3,b=4,c=5,t=9 9;if(b a&a c)t=a;a=c;c=t;if(a c&b c)t=b;b=a;a=t;p r in t f(%d%d /d n,a,b,c);答案:4 3 5(9)#in c l ud evo id m a in()(in t n=,c ;s wit c h(n+)(d efa ul t:p r in t f(er r o r );b r ea k;c a s e a :c a s e A :c a s e b :c a s e B :p r in t f(go

17、 o d);b r ea k;,小,上 _ /c a s e c :c a s e C :p r in t f(p a s s );c a s e d :c a s e D :p r in t f(wa r n );)答案:p a s s wa r n【习题3-5 有如下if条件语句:if(a b)if(c d)x=l;el s e if(a c)if(b d)x=2;el s e x=3;el s e if(c d)x=4;el s e x=5;试按缩进对齐的格式将以上语句改写为结构更清晰的等效i f语句,并在每个条件表达式之后用逻辑表达式注释所满足的条件。【正确答案】x=l;if(a b)

18、tif(c d)/*(a b)&(c d)*/x=2;el s e if(a c)if(b d)/*(a b)&(ac)*/*(a b)&(a c)&(b d)*/x=3;el s e/*(a b)&(a=d)*/x=4;el s e if(c=b)&(c=b)&(c=d)*/【习题3-6】有两个程序段:(1)if(a b)(2)if(a b)if(c=d)x=l;if(c=d)x=l;el s e x=2;el s e x=2;它们所表示的逻辑关系是下列所示关系中的哪一个?-2 a 2 b 且 c H d L 2 且 c H d a b 且 c=dX=Y 1 a b 且 c=dX=Y答案:(

19、1)所表示的是3,(2)所表示的是2 1 a b 且 c=dX=Y-2 a 2 b a b 且 c=dX=Y-2 c W d【习题3-7】写一程序,从键盘上输入1年份y ear (4位十进制数),判断其是否闰年。闰年的条件是:能被4 整除、但不能被10 0 整除,或者能被40 0 整除。程序如下:/*c3_7.c*/tti n cl ude s tdi o.hvo i d m ai n()(i n t y ear;s c a n f f t y e a r);i f(y ear%40 0=0|(y ear%4=0&y ear%10 0!=0)p r i n tf(,z%d i s a l ea

20、p y ear nz,,y ear);el s ep r i n tf(/z%d i s n o t a l eap y ear n,z,y ear);【习题3-8】设计一个程序,从健盘输入3 个整数,按由小到大的顺序输出。程序如下:/*c3_8.c*/#i n cl udevo i d m ai n()(i n t a,b,c;i f(a b)t=a;a=b;b=t;i f(a c)t=a;a=c;c=t;p r i n tf(d%d%dn ,a,b,c);【习题3-9】编程序计算下面的函数:e7 7-1 0 x ly=|x|+2 3 W x W 4I s i n(x2)当 x 取其他值时程

21、序如下:/*c3_9.c*/#i n cl ude tti n cl ude vo i d m ai n()(fl o at x,y;p r i n tf(输入 x:);sc a nf&x);i f(x 0&x=3&x=4)/*若 3WxW4*/y=fabs(x)+2;el s e/*若 x210*/y=s i n(x*x);p r i n tf(z/x=%.If,y=%.2fn ,x,y);【习题3 7 0】编程序计算下面的分段函数:输入x 值,求下列相应y 值。(1 (x l)y=J 2x+l (IWxWl O)I 3x+2(x210)分析:对于分段函数,往往采用多路分支选择语句实现。程序

22、如下:/*c3_10.c*/i n cl ude vo i d m ai n()(i n t x,y;p r i n tf(输入 x:);sc a nf&x);i f(x l)/*若 xVl*/(y=x;p r i n tf(,zx=%3d,y=x=%dn,z,x,y);)el s e i f(x=10)/*若 IWXWIO*/(y=2*x+l;p r i n tf fx=%3d,y=2*x+l=%dn,x,y);)el s e/*若 x210*/(y=3*x+2;p r i n tf(x=%3d,y=3*x+2=%dn”,x,y);)【习题3-11输入一个整数m,判断它能否被3、13、17

23、整除,如果能被三个数之一整除,则输出它能被整除的信息,否则输出m不能被3、13、17 整除的信息。试编写该程序。程序如下:c*/tti n cl ude vo i d m ai n()i n t m;s can f(a%d9f,&m);i f(m%3=0|m%13=0|m%17=0)p r i n tf(can be di vi ded!”);el s ep r i n tf(can n o t be d i v i d e d!;【习题3-12若一个学生是某校的学生,且是男生,则输出“m al e”;若是女生,则输出“fem al e;若不是某校的学生,则输出“No”。试编写该程序并画出流程

24、图。程序如下:/*c3_12.c*/#i n cl ude vo i d m ai n()(i n t s cho o l,s ex;s can f(%d,,&s cho o l,&s ex);i f(s cho o l=l)(i f(s ex=l)p r i n tf(m al e);el s ep r i n tf(fem al e);)el s ep r i n tf(No );【习题3 7 3】某产品的国内销售价为8 0 箱以下,每 箱 35 0 元,超 过 8 0 箱,超过部分每箱优惠20 元;国外销售价为10 0 0 箱 以 3每箱9 0 0 元,超 过 10 0 0 箱,超过部分

25、每箱优惠 15 元。试编写计算销售额的程序。程序如下:/*c3_13.c*/i n cl ude vo i d m ai n()fl o at m o n ey;i n t n ati o n al,co un t;p r i n tf(In p ut n ati o n al o r exter n al:);s c a n f&n a t i o n a l);p r i n tf(In p ut co un t o f p r o duct:);s can f(%d,&co un t);i f(n ati o n al)/*国内销售*/i f(co un t=8 0)m o n ey=c

26、o un t*35 0.0;el s em o n ey=co un t*35 0.0-(co un t-8 0.0)*20.0;el s e/*国外销售*/i f(co un t=10 0 0)m o n ey=co un t*9 0 0.0;el s em o n ey=co un t*9 0 0.0-(co un t-10 0 0.0)*15.0;p r i n tf(/zto tal=%fm o n ey);)【习题3-14】电文加密的算法是:将字母A 变成字母G,a 变成g,B变成H,b 变成h,依此类推,并且U 变成A,V 变成B等。从键盘输入一个电文字符,输出其相应的密码。程序如

27、下:/*c3_14.c*/#i n cl udevo i d m ai n()(char chr;char p as s w o r d;chr=getchar();p as s w o r d=chr+6;i f(chr 9 0)p as s w o r d=(p as s w o r d%9 1)+*A ;el s ep as s w o r d二 p as s w o r d%;)el s e(i f(p as s w o r d=123)p as s w o r d=(p as s w o r d%123)+,a;el s ep as s w o r d=p as s w o r d%

28、l 23;)p r i n tf(The char acter s p as s w o r d i s%c,z,p as s w o r d);)【习题3 T 5】企业发放的奖金根据利润提成。利润(I)低于或等于10 万元时,奖金可提 10%;利润高于10 万元,低于 20 万元时,低 于 10 万元的部分按10%提成,高 于 10 万元的部分,可可提成7.5%;20 万到40 万之间时,高于20 万元的部分,可提成5%;40 万到6 0 万之间时高于40 万元的部分,可提成3%;6 0 万 到 10 0 万之间时,高于6 0 万元的部分,可提成1.5%,高 于 10 0 万元时,超 过 1

29、0 0 万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?程序如下:/*c3_15.c*/#i n cl ude m ai n O(l o n g i n t i;i n t bo n us 1,bo n us 2,bo n us 4,bo n us 6,bo n us l O,bo n us;sc a nf&i);bo n us 1=10 0 0 0 0*0.1;bo n us 2=bo n us 1+10 0 0 0 0*0.7 5;bo n us 4=bo n us 2+10 0 0 0 0*0.5;bo n us 6=bo n us 4+10 0 0 0 0*0.3;bo

30、n us 10=bo n us 6+40 0 0 0 0*0.15;i f(i =10 0 0 0 0)bo n us=i*0.1;金*/el s e i f(i =20 0 0 0 0)bo n us=bo n us l+(i-10 0 0 0 0)*0.0 7 5;金*/el s e i f(=4 0 0 0 0 0)b onu s=b onu s2+(i-2 0 0 0 0 0)*0.0 5;金*/e lse if(i=6 0 0 0 0 0)b onu s=b onu s4+(i-4 0 0 0 0 0)*0.0 3;金*/e lse if(i=1 0 0 0 0 0 0)b onu

31、s=b onu s6+(i-6 0 0 0 0 0)*0.0 1 5;的奖金*/e lseb onu s=b onu sl0+(i-1 0 0 0 0 0 0)*0.0 1;金*/print f(b onu s=%d”,b onu s);)/*利润为1 0 万元时的奖金*/*利润为2 0 万元时的奖金*/*利润为4 0 万元时的奖金*/*利润为6 0 万元时的奖金*/*利润为1 0 0 万元时的奖金*/*利润在1 0 万元以内按0.1 提成奖/*利润在1 0 万至2 0 万元时的奖/*利润在2 0 万至4 0 万元时的奖/*利润在4 0 万至6 0 万元时的奖/*利润在6 0 万元至1 0 0

32、 万元时/*利 润 在 1 0 0 万元以上时的奖第 4章 循环结构程序设计【习题4-1】分析下面程序的结果:(1)程序运行结果:k=1 2(2)程序运行结果:*#(3)程序运行结果:0(4)程序运行结果:k=0(5)程序运行结果:m=l【习题4-2】假设全班有3 0 个学生,编写一个程序,连续输入3 0 个学生的计算机考试成绩,并计算出全班学生的计算机平均成绩。程序如下:/*c 4 _ 2.c*/t t inc lu d e void ma in()(f loa t su m=0.0,a ve=0.0,sc ore;int i;f or(i=0;i 3 0;i+)(sc a nf (/,%f

33、 n,/,&sc ore);su m+=sc ore;)a ve=su m/i;print f (A ve ra g e is%f n,su m);a ve;)【习题4-3】编程求1!+3!+5!+7!+1 9!的值。程序如下:/*c 4 _ 3.c*/t t inc lu d e void ma in()(f loa t su m=0.0;int i,j=l;f or(i=l;i 2 0;i+)(j*二 i;if(i%2=0)c ont inu e;su m+=j;)print f(su m=/e n,su m);【习题4-4】打印出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字的立

34、方和等于该数字本身,如xyz=x3+y3+z3o程序如下:/*c 4 _ 4.c*/#inc lu d e void ma in()int x,y,z;print f (水仙花数有:);f or(x=l;x=9;x+)f or(y=0;y=9;y+)f or(z=0;z =9;z+)if(x*1 0 0+y*1 0+z=二 x*x*x+y*y*y+z*z*z)p r i n t f-5 d ,x*1 0 0+y*1 0+z);【习题4-5】分别用三种循环控制语句编写程序,求下面和式的值。100s=L n!n=l方法一:利 用 f or循环实现程序如下:/*c 4 5 a.c*/t t inc

35、lu d e void ma in()(int s=0,i;f or(i=l;i=1 0 0;i+)s+=i;print f(s=%d n,s);)方法二:利用wh ile 循环实现程序如下:/*c 4 _ 5 b.c*/t t inc lu d e void ma in()(int s=0,i=l;wh ile(i=1 0 0)s+=i;i+;)print f (s=%d n,s);)方法三:利用d o-wh ile 循环实现程序如下:/*c 4 _ 5 c.c*/inc lu d e void ma in()(int s=0,i=l;d o(s+=i;i+;wh ile(i=1 0 0)p

36、rint f (z/s=%d nz,,s);)【习题4-6】将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环。程序如下:/*c 4 6.c*/t t inc lu d e void ma in()(int a,b,t;sc a nf%d ,&a,&b);wh ile(a!=b)if(a b)t=a;a=b;b=t;print f (9 6 d,%d n,z,a,b);sc a nf (z,%d,%d,&a,&b);)习题4-7 从键盘输入的一组字符中统计出大写字母的个数m 和小写字母的个数n,并输出m、n 中的较大者。程序如下:/*c 4 7.c*/t t inc lu d

37、e void ma in()(int m=0,n=0;c h a r c;wh ile(c=g e t c h a r()!=n)(if (c A&c=,a&c-z )n+;)print f (,zm=%d,n=%d,ma x=%d n,m,n,m n?n:m);)【习题4-8】输入n 个数,求其最大数、最小数和平均值。程序如下:/*c 4 _ 8.c*/#inc lu d e void ma in()(int n,i,ma x,min,a;f loa t s;sc a nf (d,&n,&a);s=ma x=min=a;f or(i=l;i n;i+)(sc a nf&a);s+=a;if(

38、ma x a)min=a;print f(Ma x=%d,Min=%d,a vg=%f,ma x,min,s/n);)【习题4-9】输出显示自然数11 0 0 之间的全部素数。程序如下:/*c 4 _ 9.c*/t t inc lu d e S inc lu d e void ma in()(int n,i,j,1=0;f or(n=2;n=1 0 0;n+)i=sqrt(n);f or(j=2;j=i+l)if(l 5)(p r i n tfn);1+;e lse(print f (/%d n/,n);1=0;)【习题4 7 0】一个数如果恰好等于它的因子之和,就把它称为“完数”。例如,2

39、8 的因子 为 1、2、4、7、1 4,而 2 8=1+2+4+7+1 4,因此2 8 是“完数”。编程序找出1 0 0 0 0 以内的所有“完数”并输出其因子。程序如下:/*c 4 _ 1 0.c*/t t inc lu d e void ma inO(int m,s,i;f or(m=2;m l0 0 0 0;m+)(s=0;f or(i=l;i m;i+)if(m%i)=0)s=s+i;if(s=m)(print f (/z%d,it s f a c t ors a re”,m);f or(i=l;i m;i+)if(m%i=0)print f (z,%d ”,i);print f(n)

40、:)【习题4 T 1 求算式xyz+yz z=8 8 8 中的x、y、z的 值(其 中 xyz 和 yz z 分别表示一个三位数)。程序如下:/*c 4 _ ll.c*/#inc lu d e void ma in()(int x,y,z,i,re su lt=8 8 8;f or(x=l;x 1 0;x+)f or(y=l;y 1 0;y+)f or(z=0;z 1 0;z+)(i=1 0 0*x+1 0*y+z+1 0 0*y+1 0*z+z;if(i=re su lt)print f y=%d,z=%d n,x,y,z);)【习题4 7 2】已知鸡兔共有3 0 只,脚共有9 0 只,编程

41、计算鸡兔各有多少只。程序如下:/*c 4 _ 1 2.c*/t t inc lu d e void ma in()(int x,y;f or(x=0;x=3 0;x+)(y=3 0-x;if(2*x+y*4)=9 0)print f(d,%d n,x,y);)【习题4-1 3】猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。知道第十天早上想再吃时,只剩下一个桃子了。求第一天一共摘了多少个桃子?分析:前一天桃子数是后一天桃子数的2 倍加2 个。程序如下:/*c 4_ 13.c*

42、/t t in c l u d e vo id m a in()(in t x,i;x=l;fo r (i=9;i=l;i-)x=2*(x+1);p r in t f(%d n ,x);【习题4-14编写程序,找 出1-99之间的全部同构数。(同构数的定义:出现在平方数的右边。例如:5是25右边的数,25是625右边的数,5和2 5都是同构数)程序如下:/*c 4_ 14.c*/#in c l u d e vo id m a in()(in t i:fo r(i=l:i100;i+)if(i*i%10=i i*i%100=i)p r in t f(%3d”,i);)【习题4-15使用嵌套循环输

43、出下列图形:*程序如下:/*c 4_ 15.c*/t t in c l u d e vo id m a in O(in t i,j;fo r(i=0;i=3;i+)(fo r(j=0;j=5;j+)if(i=0 j0 1|i=31|j=5)p r in t f(*);el s ep r in t fC );p r in t f(n );)【习题4-16】使用循环嵌套输出下列图形:程序如下:/*c 4 16.c*/#in c l u d e vo id m a in()(in t i,j,k;fo r(i=0;i=3;i+)(fo r(k=l;k=i;k+)p r in t fC );fo r(

44、j=0;j=4;j+)p r in t f(*);p r in t f(n );)/*i是外循环变量用于控制行数*/*k是内循环变量用于控制每行的空格数*/*j是内循环变量用于控制每行中星号的个数*/【习题4-17编写一程序,根据用户输入的不同的边长,输出其菱形。例如,边长为3的菱形为:*程序如下:/*c 4_ 17.c*/#in c l u d e vo id m a in()(in t a,i,j,k;p r in t f(z,p l ea s e en t er t h e n u m b er );s c a n f(d ,&a);fo r(i=0;i=a-l;i+)(fo r (j=

45、0;j=a-2-i;j+)p r in t f C z/);fo r(k=0;k=2*i;k+)p r in t f(*);p r in t f(n);fo r(i=0;i=a-2;i+)fo r(j=0;j=i;j+)p r in t f(z,);fo r(k=0;k=2*a-4-2*i;k+)p r in t f(*);p r in t f(n);习题4-18 编程实现从键盘输入若干学号,然后输出学号中十位数字是9 的学号(输入 0 时结束循环)。程序如下:/*c 4_ 18.c*/in c l u d e vo id m a in()(l o n g in t n u m;s c a n

46、 f(l d ,&n u m);d o(if(n u m/10%10=9)p r in t f C%l dz/,n u m);s c a n f(%l d ,&n u m);wh il e(n u m!=0);)【习题4 T 9】假设x,y 是整数,编程求必的最后3 位数,要求x、y 从键盘输入。程序如下:/*c 4_ 19.c*/#in c l u d evo id m a in ()(in t i,x,y;l o n g l a s t=l;p r in t f(,zIn p u t x a n d y:);s c a n f(%d,%d ,&x,&y);fo r(i=l;i=y;i+)l

47、 a s t=l a s t*x%1000;p r in t f(T h e l a s t 3 d ig it s:%l d n,/,l a s t);)【习题4-20编程实现将从键盘输入的偶数写成两个素数之和。程序如下:/*c 4 20.c*/in c l u d e in c l u d e vo id m a in 0(in t a,b,c,d;s c a n f(绘d ,&a);fo r(b=3;b=a/2;b+=2)fo r (c=2;c s q r t(b)d=a-b;el s ec o n t in u e;fo r (c=2;c s q r t(d)p r in t f(%d

48、=%d+%d n”,a,b,d);)第5章 数 组【习题5 7 现有一实型一维数组A 12,其各元素值在内存中排列的顺序为:L 0,15.5,9.5,-23,8.4,66.5,7.1,22.0,54.5,-34,11.3,32.5,请按下列要求编写程序求答案。(1)数组中元素值最小的数组元素。(2)数组中元素值最大的数组元素。(3)数组中某数组元素值等于另外两个数组元素值之和的等式。(4)数组中某数组元素值等于另外两个数组元素值之差的等式。程序如下:/*c 5_ l.c*/t t in c l u d e vo id m a in O(d o u b l e a 12 =l.0,15.5,9.

49、5,-23,8.4,66.5,7.1,22.0,54.5,-34,11.3,32.5;in t i,j,k;d o u b l e m a x,m in;m in=a 0;fo r (i=0;ia i)m in=a i;p r in t f(m in二%If n”,m in);m a x=a 0;fo r (i=0;i12;i+)if(m a xa i)m a x=a i;p r in t f(m a x=%l f n”,m a x);fo r (i=0;i12;i+)fo r(j=0;j12;j+)fo r(k=0;k12;k+)(if(i=j I|j-k|k=i)c o n t in u

50、e;if(a i+a j=a k)p r in t f(,%l f+%l f=%l f n,z,a i,a j,a k);fo r(i=0;i12;i+)fo r(j=0;j12;j+)fo r(k=0;k12;k+)(if(i=jI Ij=k|k=i)c o n t in u e;if(a i-a j-a k)p r in t f(,%l f-%l f=%l f n,/,a i,a j,a k);)【习题5-2】现有一实型二维数组A 4 3,其各元素值在内存中排列的顺序为:4.0,28.0,15.5,-9.5,-23.0,8.0,56.0,2.0,28.0,7.0,6.2,5.0请按下列要求

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

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

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

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