实验四 01140019蒋云伟.docx
- 文档编号:3469479
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:12
- 大小:192.29KB
实验四 01140019蒋云伟.docx
《实验四 01140019蒋云伟.docx》由会员分享,可在线阅读,更多相关《实验四 01140019蒋云伟.docx(12页珍藏版)》请在冰豆网上搜索。
实验四01140019蒋云伟
《C++》实验报告
实验名称
实验四选择结构程序设计
学号
201101140019
姓名
蒋云伟
实验日期
4.23
实验目的:
1.掌握C语言的关系表达式和逻辑表达式的运算规则与书写方法。
2.掌握各种类型的if语句和switch语句的使用方法。
3.熟悉选择结构程序设计的方法。
实验内容:
1.上机调试(需作出必要的注释!
)
(1)先静态分析一下程序的运行结果,然后上机验证。
#include
voidmain()
{
inta=3,b=4,c=5,x,yz;
x=c,b,a;
y=!
a+b =c); z=c/b+((float)a/b&&(float)(a/c); printf("\nx=%d,y=%d,z=%d",x,y,z); x=a||b--; y=a-3&&c--; z=a-3&&b; printf("\n%d,%d,%d,%d,%d,%d",a,b,c,x,y,z); } (2)输入三个整数x,y,z,请把这三个数由小到大输出。 (我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 ) #include voidmain() { intx,y,z,t; scanf("%d%d%d",&x,&y,&z); if(x>y) {t=x;x=y;y=t;}/*交换x,y的值*/ if(x>z) {t=z;z=x;x=t;}/*交换x,z的值,此时则x获最小值*/ if(y>z) {t=y;y=z;z=t;}/*交换z,y的值*/ printf("smalltobig: %d%d%d\n",x,y,z); } 2.编程题 (1)已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(单位: 元): profit≤1000没有提成 1000<profit≤2000提成10% 2000<profit≤5000提成15% 5000<profit≤10000提成20% 10000<profit提成25% 请打印员工实际薪水。 #include voidmain() { intgrade,profit; floatsalary=500; printf("Inputprofit: "); scanf("%d",&profit); grade=(profit-1)/1000; switch(grade) {case0: break; case1: salary+=profit*0.1;break; case2: case3: case4: salary+=profit*0.15;break; case5: case6: case7: case8: case9: salary+=profit*0.2;break; default: salary+=profit*0.25; } printf("salary=%.0f\n",salary); } 请按一下步骤实习思考: (调试并注释) 分析程序中的switch结构。 重点学习case标号的设计,本例将利润与提成的关系转换成整数的方法是,由于提成的变化点都是1000的整数被(1000、2000、5000、……),同时为了解决相邻两个区间重叠问题,因此采用将利润porfit先减1(最小增量),然后再整除1000. 输入并运行程序,用不同的利润去检验运行结果,如果结果不正确,请找出原因,改正后重新运行,直到结果正确为止。 若没有break;结果如何? 没有break,那么会出错,至到deafult出现错误为止。 。 。 3.思考题 已知银行整存整取存款不同期限的月息利率分别为: 0.63%期限1年 0.66%期限2年 月息利率=0.69%期限3年 0.75%期限5年 0.84%期限8年 要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。 答;程序为; #include voidmain() { intb,q; floath; printf("请依次输入存款的本金和期限: \n"); scanf("%d",&b); scanf("%d",&q); switch(q) { case1: h=(1+0.63)*b; printf("本息和为: %f\n",h);break; case2: h=(1+0.66)*b; printf("本息和为: %f\n",h);break; case3: h=(1+0.69)*b; printf("本息和为: %f\n",h);break; case5: h=(1+0.75)*b; printf("本息和为: %f\n",h);break; case8: h=(1+0.84)*b; printf("本息和为: %f\n",h);break; default: printf("输入有误! "); } } 程序清单及运行结果: 1 (1)源程序: #include voidmain() { …… } 其运行结果: (可以是截图,有交互的每个动作都要有一幅图片,就是只要屏幕有变化就要截新图片,按下printScreen键截全屏幕,alt+printScreen截活动窗口) (或者也可以是语言描述,这个省事,推荐) 屏幕提示: “Pleaseinputa,b: ” 我输入: “23,44”,回车 屏幕显示: “23+44=67” 窗口关闭。 1 (2)源程序: #include voidmain() { …… } 其功能: 实现求三个数的平均值。 2 (1)答案: A 源程序: #include voidmain() { …… } ……
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 01140019 蒋云伟 实验