谭浩强C语言第三版课后答案

所需积分/C币:10 2018-12-05 22:00:42 141KB PDF
15
收藏 收藏
举报

谭浩强第三版C语言课后答案,为你提供一个可靠的参考。
n=1++: printr(%od, %d, %d, %dn",i,j, m, n) 解结果:9,11,9,10 第四章 44a=3,b=4,c=5,x=1.2,y=2.4,=-3.6,u=51274,n-128765,c1=a,c2=b想得 到以下的输出格式和结果请写出程序要求输出的结果如下 a=3b=4c=5 X=1.200002.400000,z=3.600000 x-y=3.60y+7=-1.207+x=-2.40 u=51274n=128765 cl='a or 97(ASCID c2=B or 98(ASCIl) 解: main() int a b long int u noat x, y, char cl c2 a=3;b=4;c=5; x-1.2;y=24;z-3.6; u=51274-n=128765 l=a';c2="b prl printf("a=%02d b=%02d c=%02dn", a,b, c) printf("x%。.6f,y-%8.6f,z=909.6fn",xy,z); printf("xty=%.2fy=z=05.2f z1x=%05.fin",xtyytz, ZIx); printr(u%06ld n%9ld\n",u, n) printf("cl-=% or %od(ASCii)\n, cl, c2); printf("c2=%c or %od(ASCll)\", c2, c2) 45请写出下面程序的输出结果 结果 67.856400,-789.123962 67.856400789.123962 67.86,-789.12,67.856400,-789.123962,67.856400,-789.123962 6.785640e+001-7.89e002 A,65,101,41 1234567,4553207,d687 65535,1777,mrtl COMPUTER COM 46用下面的scan函数输入数据,使a=3.b=7,x=8.5,y=71.82,c1=A',c2-a 问在键盘上如何输入? main( int a coal char clc2 scant("a=%d b-d, &a, &b) scanf(x=%fy=%e, &x, &y) scanf("cl=%oc c2=%oc", &cl, &c2) 解:可按如下方式在键盘上输入: x=8.5y=7182 Cl=Ac2=a 说明:在边疆使用个或多个 scaf函数时,第个输入行末尾输入的"回车"破第二 个 scanf函数吸收,因此在第二\三个 scanf函数的双引号后设一个空格以抵消上行 入的回车”如果没有这个空格按上面输入数据会出错,读者目前对此只留有 初步概念即可,以后再进一步深入理鲜. 47用下面的 scanf函数输入数据使a=10.b=20,c1=A,c2=ax=15y=-3.75,=578,请问 在键盘上如何输入数据? scanf(%5d%5d%c%c%f%f% f%f", &a, &b, &cl, &c2, &y, &z) 解 main() float x, y, Z char c.c2 scan"%5d%5d%oc%c%%or",&a.&b,&c1,&c2,&x,&y,&∠); 运行时输入 1020Aa1.5-3.75+1.5,678 注解:按%5d格式的要求输入a与b时,要先键入三个空格,而后再打入10与20。%*f是 用来禁止赋值的。在输入吋,对应于%*f的地方,随意打入了·个数1.5,该值不会赋给任 何变量。 3.8设圆半径r=1.5,圆柱髙h-=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积用 scanf输 入数据输岀计算结果输岀时要求有文字说明,取小数点后两位数字请编程. 解:main( float pi, h, r, l,S, sq, vq, vZ; =3.1415926 print("请输入圆半径r圆柱高h:n"); f"f,%of,&r,&h); pirr F4.03.0 printi("圆周长为:=%6,fn"); pin("圆面积为:=%62n",s); print("圆球表面积为:=%62fn",sq); printf(("圆球体积为:=%6.2fn",Vz); 49输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-32),输出要有文字说明,取两位小 数 解: maino float cf printi("请输入一个华氏温度m") nf("%f",&f) c-(S.09.0)*(f32); prin("摄氏温度为:%5,2fun",c); 第五章逻辑运算和判断选取结构 54有三个整数a,b,C,由键盘输入,翰出其中最大的数 La. b printi("请输入三个数:"; scanf(%od, %od, %od", &a, &b, &c) if(b<c printr("max=odn", c) else printf("max=%dn",b) else if(a<c) printf("max=%d\n", c); printf("max-%dn", a) 方法2:使用条件表达式 maino dint a, b, c, termp, m printf(("请输入A,B,C:"); frd%d,%d",&a,&b,&c); printf("a=%d, B=%d, C=%dn, a, b, c) temp=(a>b)?a: b max=(temp>c)? temp: C prin("A,B,C中最大数是%d,",max) 5.5 main( nt printi("输入x:"); scanr(%d", &x) if(x<1) printf("X-%d, Y=X% n, x,y) else i[(x<10 y2*x-1; printf("X=%od, Y=2X-1=%odn",x,y) clsc y printf("x-5d, Y-3*x-11-%dn", x, y) 57给一个不多于5位的正整数,要求:1.求它是几位数2分别打印出每一位数字3按逆序 打印出各位数字.例如原数为321,应输出123 maino long int num; int indiv, ten, hundred, housand, tenthousand, place: print('"请输入个整数(0-9999"); scanf(%ld, &num) if(num>9999) place=5 else if(num>999) else if(num >99) lace=3 else if(num>9) else place=l printf("place=%od n",place) print"每位数字为"); ten thousand=num/10000 thousand=(num-tenthousand*10000)/1000 hundred=(num-tenthousand10000-thousand 1000)/100 ten=(num-tenthousand10000-thousand1000-hundred*100)/10 indiyenum-tenthousand * 10000-thousand "1000-hundred *100-ten*10 switch(place) icase 5: printf("%d, %d, %d, %d, %d", tenthousand, thousand hundred, ten, indiv) printf("n反序数字为:") printf( %odod%od%d%dn", indiv, ten, hundred, thousand tenthousand) break. case 4: printf("%od, %od, %od, %od", thousand, hundred ten, indiv) prin("n反序数字为:") printf("%d%d%d%dn", indiv, ten, hundred, thousand) break case 3: printf("%od, %od, %dn", hundred ten, indiv printf("n反序数字为:"); printr(" %od%d%dn", indiv, ten, hundred case 2 printf("%d, %d\n", ten, indiv) printf(("in反序数字为:"); printf("%d%dn" indiv, ten casc 1: printf("%odin",indiv) printf(("n反序数字为:") printf("%odin", indiv 581if语句 main() Hong 1; float bonus, bonl, bon2, bon4, bone, bon10; 泮*初始化变量* bon1=100000*0.1: bon2=100000*0.075+bon1; bon4=200000*0.05+bon2 bon6=200000*0.03+bon4; bon10400000*0.015+bon6 print("请输入利润"); scant(%old", &i) /*计算* if(i<=le5) bonus=10.1 else if(i<2e5) bonus=bon1+(l-10000040.075; else if(i<=4e5) bonu=bon21(1-200000.05; else if(i<=6e5) bonus=bon4+(-40000.03 else if(i<=le6) bonus=bon6+(1-600000)*0.015; bonus=bon 10tGi-1000000)*0.01 prin("奖金是%10.2r", bonus); 用 switch语句编程序 main( ng 1 float bonus. bonl, bon2, bond, bon6, bon10: int branch /*初始化变量*/ bonl=100000*0.1 bon2=bon1+100000*0.075 bon4-bon2+200000*0.05; bon6-bon4+200000*0.03 bonl0=bon6+400000.015; printf(("请输入利润:") scanf(%old",&i) branch=1100000 if(branch>10) branch=10 /*计算*/ switch(branch icase 0: bonus=1*0.1; break; case 1: bonus=bon1+(i-100000) * 0.075; break; case 2 case 3: bonus=bon2+(i-200000) *0.05 break case 4 case 5: bonus=bon4-+(i-400000) 0.03; break; case 6: case 7: case case 9: bonus-bon6+ (1-600000)0.015; break; case10 bonus=bon10+(1-1000000.01: printf(("奖金是%l0.,2r" bonus) 59输入四个整数,按人小顺序输出 main( fint t, a, b, c, d; printf("请输入四个数:"); scanf(%od, %od, od, %od, &a, &b, &c, &d) printf("nin a=%d, b=%d, c=%d, d=%od n", a, b, c, d) if(a>b) tt=aa=b b =t if(a>c) it=;a=c; c=t; 3 tta; a=d; d=t; 3 if(b>c) tt=b; b =c; c=t; 3 if(b>d) db; b-d: d=t if(cd) it-c; c-d; d-t; 3 print.("n排序结果如下:n"); printf("%d %d%d%/od \n", a, b, c, d) 5.10塔 main int h=10 float x, y, x0-2, y0=2, d1, d 2, d3, d4 print("请输入一个点(x,y):") scan f("%f,%of",&x,&y); dl=(x-x0)*(x-x0)+(y-y0)(y-y0); d2=(x-x0)*(x-x0)+(y+y0)(y+y0); d3=(x+x0)*(x+x0)+(y-y0)*(yy0) d4=(x+x0)*(X+x0)+(y+y0)*(y+y0); if(dl>l&&d2>l&&d3>1&&d4>1) h=0 print("该点高度为%d"h); 第六章循环语句 61输入两个正数求最大公约数最小公倍数 maino int a, b, numl, num2, temp print("请输入两个正整数:n") scanf("od, %od", &numl, &num2) if(numI<num2) temp=num numl-numz num2=temp a=numl. b=num2 hile(b!=0) temp=a%b: b=temp print("它们的最大公约数为:%d print("它们的最小公倍数为%dn",num1*num2/2) 6.2输入一行字符分别统计出其中英文宇母,空格数字和其它字符的个数 解: #include <stdio. h> main( char int letters-O, space-O, degit-=0, other-O print.("请输入一行字符:n"); while((c=getchar)=n) if(c>='a'&&c<=z'lc>A&&c<=z) letters++ Space++. clif(c>=02&&c<=9) digit else other++ printi("其中:字母数%d空格数-%d数字数-%d其它字符数-%dn", letters, space, digit, other) 63求s(n)=aata…a…a之值,其中工是一个数字 解 main( int a n count=1. sn=0. tn=0 printf("请输入a和n的值:n"); d",&a,&n); printf("a=%d n=%dn", a, n) while(count<=n tn=tn f a sn-sn+tn a=a*10 ++count

...展开详情
试读 24P 谭浩强C语言第三版课后答案
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚积分or赚钱
最新推荐
谭浩强C语言第三版课后答案 10积分/C币 立即下载
1/24
谭浩强C语言第三版课后答案第1页
谭浩强C语言第三版课后答案第2页
谭浩强C语言第三版课后答案第3页
谭浩强C语言第三版课后答案第4页
谭浩强C语言第三版课后答案第5页

试读结束, 可继续读3页

10积分/C币 立即下载 >