资源描述:
《第3章 顺序和选择结构习题参答》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第3章顺序和选择结构程序设计_编程序练习题aP82–5题:假设美元与人民币的汇率是1美元兑换6.79元人民币,编写程序输入人民币的钱数,输出能兑换的美元金额。程序如下(顺序结构):#includevoidmain(){intx;floaty;scanf(“%d”,&x);y=x/6.79 ;printf("%d%元人民币兑换%f美元",x,y);}输入数据:1000↙输出结果:1000元人民币兑换147.275405美元a课件3章练习3题:输入一个3位的正整数,将该数的百位、十位、个位分三行输出。并输出3位数的和。例如:输入357输出:3573+5+7=15 程
2、序如下(顺序结构):#includevoidmain(){intn,n3,n2,n1,s;scanf(“%d”,&n);n3=n/100;n2=(n/10)%10;n1=n%10;s=n1+n2+n3;printf(“百位数字是:%d”,n3);printf(“十位数字是:%d”,n2);printf(“个位数字是:%d”,n1);printf(“%d+%d+%d=%d”,n3,n2,n1,s);}bP82–8题:编写程序,将输入的小写字母变为大写,大写字母不变,若输入的不是,则提示错误信息。(要求:用if-elseif-else编写)程序如下(用if-
3、elseif-else编写):#includevoidmain(){charch,ch1;scanf(“%c”,&ch);if(ch>=’a’&&ch<=’z’){ch1=ch-32;printf("%c的大写字母是%c",ch,ch1);}elseif(ch>=’A’&&ch<=’Z’)printf("%c",ch);elseprintf("%c不是字母!",ch);}输入数据:6↙输出结果:6不是字母!输入数据:b↙输出结果:b的大写字母是BbP82–13题(修改):编写程序,求方程ax2+bx+c=0的实根。(a、b、c≠0)分析:>0有两个不同实根d
4、=b2-4ac=0有两个相同实<0无实根程序如下(用if-elseif编写):#include#includevoidmain(){doublea,b,c,d,x1,x2;scanf(“%lf%lf%lf”,&a,&b,&c);d=b*b-4*a*c;if(d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf(“x1=%lfx2=%lf”,x1,x2);}elseif(d==0){x1=-b/(2*a);printf(“x1=x2=%lf”,x1);}elseprintf(“无实根!”)
5、;}输入数据:342↙输出结果:无实根!输入数据:483↙输出结果:x1=-0.500000x2=-1.500000参考_P82–13题:编写程序,求方程ax2+bx+c=0的根。(a、b、c≠0)分析:>0有两个不同实根d=b2-4ac=0有两个相同实根<0有两个复根:(-b+i)/(2×a)(-b-i)/(2×a)程序如下(用if-elseif编写):#include#includevoidmain(){doublea,b,c,d,x1,x2,re,im;//re实部im虚部scanf(“%lf%lf%lf”,&a,&b,&c);d=b*b-4*a*
6、c;if(d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf(“x1=%lfx2=%lf”,x1,x2);}elseif(d==0){x1=-b/(2*a);printf(“x1=x2=%lf”,x1);}elseif(d<0){re=-b/(2*a);im=sqrt(fabs(d))/(2*a);printf(“x1=%lf+%lfi”,re,im);printf(“x2=%lf-%lfi”,re,im);}}输入数据:483↙输出结果:x1=-0.500000x2=-1.500000输入数据:342↙输出结果:
7、x1=-0.6666667+0.471405ix2=-0.6666667-0.471405i程序如下(用if嵌套编写):#include#includevoidmain(){doublea,b,c,d,x1,x2,re,im;//re实部im虚部scanf(“%lf%lf%lf”,&a,&b,&c);d=b*b-4*a*c;if(d>=0)if(d>0){x1=(-b+sqrt(d))/