《程序设计基础(C语言)》实验指导书 下载本文

3.5 实验5 选择结构

一、

实验目的

1. 熟练if语句的使用 2. 熟练switch语句的使用 二、

实验内容和步骤

以下题目,采用if语句。

1. 编写程序,使之具有如下功能:输入a、b、c三个整数,求最小值。 2. 编写程序,求解下列分段函数:

?x??5?x?0??x?1(x?0)? y??x?1(0?x?10)???100其他3. 某托儿所收2岁到6岁的孩子,2岁、3岁孩子进小班(Lower class);4岁孩子进中班(Middle class);5岁、6岁孩子进大班(Higher class)。编写程序(用switch语句),输入孩子年龄,输出年龄及进入的班号。 如:输入:3

输出:age:3,enter Lower class。

以下题目,采用switch语句。

4. 编写程序,求解下列分段函数:有一函数

?5x?11?0??x?20??sinx?cosx(20??x?40)?? y??ex?1(40??x?60)?ln(x?1)60??x?80???0其他以下题目,分别采用if和switch两者语句完成

5. 使用if语句编写“显示某年某月的天数”程序:

【分析】:一月、三月、五月、七月、八月、十月、十二月,均为31天。四月、六月、九月、十一月,均为30天。二月,闰年为29天,不是闰年为28天。该题可用switch语句求解,但遇到两个矛盾需解决:如何表示一月、三月、五月、七月、八月、十月、十二月均为31天?这是第一个矛盾。闰年如何判断?这是第二个矛盾。

能看到如下运行结果(“2002, 2”是用户键盘输入的,“2002 年2 月是 28 天”是程序运行后显示的):

Please enter year and month : 2002, 2<回车> 2002 2 is 28 days

6. 输入四个数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按从大到小顺序

输出。

7. 给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80~89分为B,70~

7

79分为C,60~69分为D,60分以下为E

3) 要求分别用if语句和switch语句编程实现,并检查结果是否正确 4) 再运行一次程序,输入分数为负数(如-70),这显然是输入时出错,不应该出等级。

修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。

8

3.6 实验6 循环结构

一、

实验目的

1. 熟练while语句的使用 2. 熟练do?while语句的使用 3. 熟练for语句的使用 二、

实验内容和步骤

1. 输入一个正整数,将该数逆序输出。

2. 编写程序,求100~200之间所有的素数,及其个数。\\ 3. 编写程序,输出以下图案:

* * * * * * * * * * * * * * * * * * * * * * * * *

4. 编写程序,输出以下图案:

* *** ***** *******

***** *** *

5. (用do-while语句实现)编写程序:

从键盘上输入10个整数,求其平均值。 【注意】

1) 用循环条件的设置控制输入的个数

2) 整数/整数=整数,如10/4=2,而不是2.5;

【继续思考“由人为的控制输入数据的个数,你想求几个数的平均数就求几个数的平均数”,如何编程 】

6. (用while语句实现)编写程序:

输入的不同半径,输出其所对应的圆面积程序,输入半径为负数时结束整个程序运行。 7. (用for语句实现)编写程序:

求1~100之间的素数,将每个素数都打印出来,并且要求每行只显示5个数。

9

8. 用循环语句编写程序。

9. 实现功能“显示乘法口诀表”

The multiplication table =====================

| 1 2 3 4 5 6 7 8 9 横向表头 ------------------------------------------------------------- 1 | 1 2 | 2 4 3 | 3 6 9 4 | 4 8 12 16 5 | 5 10 15 20 25 6 | 6 12 18 24 30 36 7 | 7 14 21 28 35 42 49 8 | 8 16 24 32 40 48 56 64 9 | 9 18 27 36 45 54 63 72 81

纵向表头 积

10. 编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=4)

1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1

10