实验四 01140019蒋云伟.docx

上传人:b****4 文档编号:3469479 上传时间:2022-11-23 格式:DOCX 页数:12 大小:192.29KB
下载 相关 举报
实验四 01140019蒋云伟.docx_第1页
第1页 / 共12页
实验四 01140019蒋云伟.docx_第2页
第2页 / 共12页
实验四 01140019蒋云伟.docx_第3页
第3页 / 共12页
实验四 01140019蒋云伟.docx_第4页
第4页 / 共12页
实验四 01140019蒋云伟.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

实验四 01140019蒋云伟.docx

《实验四 01140019蒋云伟.docx》由会员分享,可在线阅读,更多相关《实验四 01140019蒋云伟.docx(12页珍藏版)》请在冰豆网上搜索。

实验四 01140019蒋云伟.docx

实验四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()

{

……

}

……

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1