第3章顺序和选择结构习题参答_第1页
第3章顺序和选择结构习题参答_第2页
第3章顺序和选择结构习题参答_第3页
第3章顺序和选择结构习题参答_第4页
第3章顺序和选择结构习题参答_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 顺序和选择结构程序设计_编程序练习题ap825题:假设美元与人民币的汇率是1美元兑换6.79元人民币,编写程序输入人民币的钱数,输出能兑换的美元金额。程序如下(顺序结构):#include <stdio.h>void main( ) int x; float y; scanf(“%d”,&x); y=x/6.79  printf("%d%元人民币兑换%f美元n",x,y);输入数据:1000 输出结果:1000元人民币兑换147.275405美元a课件3章练习3题:输入一个3位的正整数,将该数的百位、十位、个位分三行输出。并输出位数的和

2、。 例如:输入 357 输出: 3 5 7 程序如下(顺序结构):#include <stdio.h>void main( ) int n,n3,n2,n1,s; scanf(“%d”,&n); n3=n/100; n2=(n/10)%10; n1=n%10; s=n1+n2+n3; printf(“百位数字是:%dn”,n3); printf(“十位数字是:%dn”,n2); printf(“个位数字是:%dn”,n1); printf(“%d+%d+%d=%dn”,n3,n2,n1,s);bp828题:编写程序, 将输入的小写字母变为大写,大写字母不变,若输入的不是,则

3、提示错误信息。(要求:用if-else if-else编写)程序如下(用if-else if-else编写):#include <stdio.h>void main( ) char ch,ch1; scanf(“%c”,&ch); if(ch>=a && ch<=z) ch1=ch-32; printf("%c的大写字母是%c n",ch,ch1); else if(ch>=a && ch<=z) printf("%c n",ch);else printf("%c不是字

4、母! n",ch); 输入数据:6输出结果:6不是字母!输入数据:b输出结果:b的大写字母是bbp8213题(修改):编写程序,求方程ax2+bx+c=0的实根。(a、b、c0)分析: >0 有两个不同实根d=b2-4ac =0 有两个相同实 <0 无实根程序如下(用if-else if编写):#include <stdio.h>#include <math.h>void main( ) double a,b,c,d,x1,x2; scanf(“%lf%lf%lf”,&a,&b,&c); d=b*b-4*a*c; if(d&

5、gt;0) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(“x1=%lf x2=%lf n”,x1,x2); else if(d=0) x1=-b/(2*a); printf(“x1=x2=%lfn”,x1); else printf(“无实根!n”);输入数据:3 4 2输出结果:无实根! 输入数据:4 8 3输出结果:x1=-0.500000 x2=-1.500000 参考_p8213题:编写程序,求方程ax2+bx+c=0的根。(a、b、c0)分析: >0 有两个不同实根d=b2-4ac =0 有两个相同实根 <0 有两

6、个复根:(-b+i)/(2×a) (-b-i)/(2×a)程序如下(用if-else if编写):#include <stdio.h>#include <math.h>void main( ) double a,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) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(“x1=%lf x2=%lf n”,x1,x2);

7、 else if(d=0) x1=-b/(2*a); printf(“x1=x2=%lfn”,x1); else if(d<0) re=-b/(2*a); im=sqrt(fabs(d)/(2*a); printf(“x1=%lf+%lfin”,re,im); printf(“x2=%lf-%lfin”,re,im); 输入数据:4 8 3输出结果:x1=-0.500000 x2=-1.500000输入数据:3 4 2输出结果:x1=-0.6666667+0.471405i x2=-0.6666667- 0.471405i 程序如下(用if嵌套编写):#include <stdio

8、.h>#include <math.h>void main( ) double a,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)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(“x1=%lf x2=%lf n”,x1,x2); else x1=-b/(2*a); printf(“x1=x2=%lfn”,x1); else re=-b/(2*a); im=

9、sqrt(fabs(d)/(2*a); printf(“x1=%lf+%lfin”,re,im); printf(“x2=%lf-%lfin”,re,im); 输入数据:2 4 2输出结果:x1=x2=-1.000000cp829题:编写程序,从键盘接受一个简单的表示四则运算的表达式,计算结果并输出。例如,输入“20+32”, 输出“=52”。(要求:用switch语句编写,使用两种方法。)程序如下(方法一:switch(表达式)中表达式是字符型):#include <stdio.h>void main( ) float a,b;char ch; scanf(“%f%c%f”,&a

10、mp;a,&ch,&b); switch(ch) case +: printf("a+b=%fn",a+b); break; case - : printf("a-b=%fn",a-b); break; case * : printf("a*b=%fn",a*b); break; case / : printf("a/b=%fn",a/b); break; default : printf("不是四则运算符n"); 输入数据:10*20输出结果:a*b=200.000000程序如

11、下(方法二:switch(表达式)中表达式是整型):#include <stdio.h>void main( ) float a,b; int k=5;char ch; scanf(“%f%c%f”,&a,&ch,&b); if(ch=+)k=1; if(ch=-)k=2; if(ch=*)k=3; if(ch=/)k=4; switch(k) case 1: printf("a+b=%fn",a+b); break; case 2: printf("a-b=%fn",a-b); break; case 3: prin

12、tf("a*b=%fn",a*b); break; case 4: printf("a/b=%fn",a/b); break; case 5: printf("不是四则运算符n"); 输入数据:10*20输出结果:a*b=200.000000参考_p829题:编写程序,从键盘接受一个简单的表示四则运算的表达式,计算结果并输出。例如,输入“20+32”, 输出“=52”。程序如下(用if-else if-else编写):#include <stdio.h>void main( ) float a,b;char ch; scanf(“%f%c%f”,&a,&ch,&b); if(ch=+) printf("a+b=%fn",a+b); else if(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论