实验二 选择结构程序设计
一、实验目的
1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分支选择结构。
2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分支选择结构。
二、实验内容
(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)
1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据
[输出]整数或出错信息
[提示] 根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。使用if…else…语句和复合语句。
2.[目的]掌握条件表达式的使用
[题目内容] 编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。
[输入] 三个数x、y、z
[输出] “x+y=z”或“x+y!=z”
[提示] 条件判断表达式x+y==z
3.[目的]掌握求最大值最小值的方法。
[题目内容] 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[输入] 三个整数
[输出] 最大值和最小值
[提示] 设置最大值变量max和最小值变量min;首先比较a,b的大小,并把大数存入max, 小数存入min;然后最大值变量max和最小值变量min再与c比较,若c大于max,则max取值c,否则保持不变;如果c小于min,则min取值c,否则保持不变。最后输出max和min的值。使用if…else…语句、if语句以及复合语句。
4.[目的]运用已学知识解决实际问题。
[题目内容]如下两个线性方程组的两个未知数为x1和x2:
ax1+bx2=m
cx1+dx2=n
该方程的唯一解为(ad-cb不等于零时):
请编写一个程序,读取a、b、c、d的值,计算x1和x2的值。如果ad-cd等于零,应给出适当的提示信息。
[输入]方程的系数 a、b、c、d的值
[输出] 当ad-cb不等于零时,输出方程的解x1、x2的值;当ad-cb等于零时,输出提示信息。
[提示] 用if…else…语句和复合语句实现。
三、课后作业(写在实验报告中)
1.[目的]运用已学知识解决实际问题。
[题目内容]某产品生产成本c=c1+mc2,其中c1为固定成本,c2为单位产品可变成本。当生产数量m<10000时,c1=20000元,c2=10元;当生产数量m≥10000时,c1=40000元,c2=5元;编写一个程序,其功能为:分别计算出生产数量为6000以及25000时,总生产成本及单位生产成本。
[输入] 生产数量
[输出] 生产数量、总生产成本、单位可变成本
2.[目的]掌握分段函数的计算。
[题目内容] 编写一个程序,计算下列函数:
y= |
| |||||||||
[输入] x值
[输出] y值
[提示]根据输入的x值的取值,计算y的值并输出。使用if…else if语句以及复合语句。
3.[目的]掌握字符型变量的定义与使用,掌握大小写字母转换的算法。
[题目内容] 编写一个程序,其功能为:从键盘输入一个字符,判别该字符的类别,并输出向相应信息。
[输入]一个字符
[输出] 显示“控制字符”、“数字字符”、“大写字母”、“小写字母”、“其它字符”信息。
[提示] 根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在'0'和'9'之间的为数字,在'A'和'Z'之间为大写字母, 在'a'和'z'之间为小写字母,其余则为其它字符。使用if…else if…语句。
4.[目的]掌握标准数学函数使用。
[题目内容]编写一个程序,其功能为:从键盘输入一元二次方程ax2+bx+c=0的各项系数a、b、c的值,判断方程实数解的不同情况,分别求解方程,并输出(结果保留两位小数,如无实根给出相应的信息)。
应用如下规则:
(1) 若a、b的值为零,则没有解;
(2) 若a为零,只有一个实数解;
(3) 若b2-4ac为负数,则没有实数解;若b2-4ac为正数,有两个实数解;若b2-4ac为零,有两个相等的实数解。
[输入]一元二次方程ax2+bx+c=0的各项系数a、b、c
[输出] 方程的实数解情况
[提示]包含标准数学函数头文件,使用标准数学函数sqrt(x)实现开平方计算,判别式b2-4ac,如果小于0,则输出“方程无实数根”,等于0 ,输出一个实根,结果使用双精度浮点数表示,%lf格式,大于0,输出两个不同的实数根,结果使用双精度浮点数表示,%lf格式。
5.[目的]运用已学知识解决实际问题。
[题目内容] 编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
[输入] 三角形三边 a、b、printf输出格式lfc
[输出] 不能构成三角形或能构成等腰、等边、直角、一般三角形的信息。
[提示]利用三角形两边之和大于第三边判断是否能够构成三角形,能够成三角形时再以等腰、等边、直角三角形的条件进行判断。
6.[目的]运用已学知识解决实际问题。
[题目内容]某个电力公司对其用户的收费规定如下:
用电数量 收费标准
0~200 x*0.5元
201~400 100+(x-200)*0.65元
401~600 230+(x-400)*0.8元
601以上 390+(x-600)*1.0元
编写程序,对于一个输入的用电数量,计算用户的缴费额。
[输入] 用电数量
[输出] 缴费额
[提示] 用if…else if语句实现。注意输入负数时的处理。
7.[目的]运用已学知识解决实际问题。
[题目内容]某个服装展示厅对所卖商品打折规定如下:
------------------------------------------------------------
购买总额 折扣
-------------------------------------------
机加工产品 手工产品
0~100 - 5%
101~200 5% 7.5%
201~300 7.5% 10.0%
大于300 10.0% 15.0%
--------------------------------------------------------------
编写程序输入购买总额,计算并输顾客实际应付的货款。
[输入]顾客的购买总额
[输出] 顾客实际应付的货款
[提示]机加工产品与手工产品可以使用类别变量表示,例如,设计类别变量为lb,假设lb=0表示机加工产品,lb=1表示手工产品。
8.[目的]switch语句的练习
[题目内容]编程在屏幕上显示一张如下所示的时间表:
*******Time*******
1 morning
2 afternoon
3 night
Please enter your choice:
根据用户输入的时间序号显示相应的问候信息,选择1时显示“Good morning”, 选择2时显示“Good afternoon”, 选择3时显示“Good night”,对于其他选择显示“Selection error!”。
[输入] 序号
[输出] 问候语或其他信息
[提示] 用switch语句实现
9.[目的]运用已学知识解决实际问题。
[题目内容]编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:
操作数1 运算符op 操作数2
计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)
[输入]
Please enter the expression:22.12+12.10
[输出]
22.12+12.10=34.22
[提示] 分别用if或switch语句实现
10.输入某学生的成绩,经处理后给出学生的等级,等级分类如下:
90分以上(包括90): A
80至90分(包括80):B
70至80分(包括70):C
60至70分(包括60):D
60分以下: E
80至90分(包括80):B
70至80分(包括70):C
60至70分(包括60):D
60分以下: E
方法一:(用if语句的嵌套)
方法二:用switch语句
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论