实验三 选择结构程序设计
C语言程序设计实验三答案

实验三 选择结构程序设计一、实验目的与要求1. 理解C 语言表示逻辑量的方法,学会正确使用逻辑运算符和逻辑表达式。
2. 掌握利用if 结构实现选择结构的方法。
3. 掌握利用switch 结构实现多分支选择结构。
4. 结合程序掌握一些简单的算法,学习调试程序5. 实验4学时二、实验内容1.程序改错题改正下面程序中的错误。
输入实数x ,计算并输出下列分段函数f(x)的值(保留1位小数)。
)100(1=x x==)(x f y)100(≠x x输入输出示例1(改正后程序的运行结果)Enter x :100f )=输入输出示例2(改正后程序的运行结果)Enter x :23f )=源程序(有错误的程序)#include<>#include<>void main(void){double x;printf("Enter x: \n");scanf("=%f", x);if (x = 100) {y = 1/sqrt(x)}else (x != 100) {y = x;}printf("f(%.2f) = %.1f\n",x,y);}答:#include<>#include<>void main(void){double x,y;printf("Enter x:\n");scanf("%lf",&x);if (x=100)y = 1/sqrt(x);elsey= x;printf("f(%.2lf)=%.1lf\n",x,y);}2.一般编程题编程题1输入任意三个整数a,b,c ,求3个数中的最大值和最小值。
答:#include <>void main(){int a,b,c;printf("请输入三个整数:");scanf("%d %d %d",&a,&b,&c);if (a>=b)t=a,a=b,b=t;if (a>=c)t=a,a=c,c=t;if (b>=c)t=b,b=c,c=t;printf("最小值为:%d\n",a);printf("最大值为:%d\n",c);}编程题2输入x ,计算并输出下面分段函数f(x)的值(保留2位小数)。
实验三选择结构程序设计

实验三选择结构程序设计程序设计是计算机科学中的核心技能之一,它涉及到使用编程语言来解决特定问题。
在程序设计中,选择结构是基本的控制流程之一,它允许程序根据不同的条件执行不同的代码块。
本实验旨在通过一系列练习,帮助学生理解和掌握选择结构程序设计的基本方法和技巧。
实验目的1. 理解选择结构在程序设计中的作用和重要性。
2. 掌握基本的选择结构语句,如`if`、`switch`等。
3. 学会使用选择结构解决实际问题。
4. 提高逻辑思维能力和编程实践能力。
实验环境- 编程软件:任意一种支持C/C++/Java等语言的IDE。
- 开发环境:Windows/Linux/MacOS均可。
实验内容1. 基础选择结构- 实验一:使用`if`语句实现一个简单的温度转换程序,将摄氏度转换为华氏度。
```c#include <stdio.h>int main() {float celsius, fahrenheit;printf("请输入摄氏度:");scanf("%f", &celsius);fahrenheit = (celsius * 9 / 5) + 32;printf("%.2f摄氏度等于%.2f华氏度\n", celsius, fahrenheit);return 0;}```- 实验二:使用`if...else`语句设计一个程序,根据输入的分数判断成绩等级。
```c#include <stdio.h>int main() {int score;printf("请输入成绩:");scanf("%d", &score);if (score >= 90) {printf("优秀\n");} else if (score >= 60) {printf("及格\n");} else {printf("不及格\n");}return 0;}```2. 多条件选择结构- 实验三:使用`switch`语句实现一个简单的菜单选择程序。
实验三-选择结构程序设计

实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_1.c。
输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。
实验三 选择结构程序设计

****学校****《C语言程序设计基础》实验报告实验三选择结构程序设计学院:******************* 专业:*******************班级:*******************姓名:*******************学号:******************* 指导老师:******************* 实验时间:2015年4月14日一、实验目的及要求:1、利用Visual C++ 6.0编写简单的C语言程序(以课后习题为例);2、利用选择结构程序设计编写程序;3、通过样例加深对C语言中的选择结构——if结构和switch结构的理解,掌握if结构和switch结构的使用。
二、实验环境:本次实验基于Windows 7的操作系统,借助Visual C++ 6.0程序运行。
三、基本知识回顾:1、关系运算、逻辑运算及表达式关系运算符大小判断:>(大于)、>=(大于等于)、<(小于)、<=(小于等于)。
相等判断:==(等于)、!=(不等于)。
注意:关系运算符“>=、<=、==、!=”在书写时,不要用空格将其分开,否则会产生语法错误。
关系运算符的优先级逻辑运算符与逻辑表达式C语言中提供三种逻辑运算符:&&(逻辑与)||(逻辑或)!(逻辑非)在三个逻辑运算符之间,逻辑非(!)优先级最高,逻辑与(&&)次之,逻辑或(||)最低。
2、if语句if语句的执行过程:先计算表达式的值,若值为“真”(非0),则执行if子句(表达式后面的语句),否则跳过if子句,接着执行下面的语句。
图1 if语句流程图表3、if else形式if-else语句的形式为:if (表达式)语句1else 语句2if-else语句的执行过程:先判断或计算表达式的值,若结果为“真”(非0),则执行if子句;否则执行else子句。
4、switch语句C语言中提供了switch语句用于直接实现多分支选择结构。
实验三-选择结构程序设计(解答)-(2)

实验三选择结构程序设计(解答)1.改错题(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。
请纠正程序中存在错误,使程序实现其功能,程序以文件名sy3_1.c存盘。
#include <stdio.h>main(){char ch,c1,c2;printf("Enter a character:");ch=getchar();if((ch>='a')||(ch<='z')) // if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch='A') // if(ch=='A')c1=ch+25;else if(ch='Z') // else if(ch=='Z')c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('\n');}改正后的程序:#include <stdio.h>main(){char ch,c1,c2;printf("Enter a character:");ch=getchar();if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch=='A')c1=ch+25;else if(ch=='Z')c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('\n');}(2)下列程序的功能为:输入3个整数后,输出其中最大值。
实验三(选择结构程序设计)-

实验三(选择结构程序设计)-
实验3选择结构编程
3.1实验要求和目的
1。
掌握关系表达式和逻辑表达式的正确应用。
条件表达式
3的正确应用。
掌握if语句、if-else语句、if语句的嵌套编程方法4。
掌握交换机
5的编程方法和执行特点。
掌握相关算法(大写字母和小写字母的转换、奇数和偶数的判断、整数除法、分段函数的求解、分数的转换等)。
) 6。
培养解决实际问题的能力
3.2实验指南
结构化程序设计三种结构:序列结构、选择结构和循环结构当计算机执行该过程时,它根据条件选择要执行的语句,这称为选择结构,也称为分支结构。
在解决实际问题时,由于各种条件的限制,如单分支结构、双分支结构和多分支结构等,可能会产生分支。
因此,可以选择相应的语句进行编程。
C语言编程实现单个分支结构是常用的if语句;If-else语句通常用于实现双分支结构。
If-else嵌套语句或switch语句通常用于实现多分支结构在
选择结构的编程中,除了选择适当的语句外,另一个关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
[3.1]输入以下程序,输入给定的测试数据,并观察程序执行结
果程序文件名为:ex3_1.c输入测试数据:23 56 程序运行结果:max = 56 # include vid main(){ inta,b,max;
scanf(\ /*从键盘输入两个整数*/max = a;if(最大值。
实验3 选择结构程序设计
实验3 选择结构程序设计一、实验目的1.【重点】掌握算法描述方法(重点掌握传统流程图)、准备测试数据以及实际调试程序的独立编程能力。
2.【重点】掌握C语言的基本控制结构和基本控制语句的使用方法。
3.【重点】掌握用C语言的基本控制语句进行选择结构程序设计的方法。
二、实验内容1.算算账成都出租车2010年9月10日执行新价格,捷达车运价将调整为8元起步,速腾9元起步,两2.身高预测每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。
小孩成人后的身高与其父母的身高和自身的性别密切相关。
设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高=(faHeight + moHeight)×0.54cm女性成人时身高=(faHeight×0.923 + moHeight)/2cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。
编写程序LAB3_2.c:从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。
【要求】程序要有较好的错误处理能力。
例如,当输入父亲或母亲身高小于0时,屏幕应有如下提示:当输入字符为其他字母时,屏幕也应有相应提示。
例如:所有输入都符合要求的输出界面如下图所示:实验报告《C语言程序设计》实验三班级学号姓名一、实验目的1.【重点】掌握算法描述方法(重点掌握传统流程图)、准备测试数据以及实际调试程序的独立编程能力。
实验3 选择结构程序设计
实验3 选择结构程序设计一、实验目的及任务1、了解C 语句表示逻辑量的方法(以0代表"假"以1代表"真")。
2.学会正确使用逻辑运算符和逻辑表达式的方法。
3.熟悉if 语句和switch 语句。
4.结合程序掌握一些简单的算法。
二、实验环境VC++6.0编程环境;主机操作系统为Windows2000或Windows XP ; 三、 预备知识要深入理解选择结构的特点,掌握各自的语句实现。
四、实验内容本实验要求编程解决以下问题,然后上机调试运行程序。
1.⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x xy用scanf 函数输入x 的值,求y 的值。
程序提示:main 函数结构如下: 定义实型变量x 与y 使用scanf 函数输入x 的值 if x<1 y=x elseif x<10y=2x-1elsey=3x-11输出x的值与y的值2.给出一个百分制的成绩,要求输出成绩等级A,B,C,D,E。
90分及以上为A,80-89为B,70-79为C,60-69为D,60分以下为E。
要求从键盘输入成绩,然后输出相应等级,分别用if语句和switch语句实现。
程序提示:(1)使用if语句的main函数结构如下:定义float型变量score,char型变量grade输入百分制成绩赋给scoreif score>=90grade='A'else if score>=80grade='B'else if score>=70grade='C'else if score>=60grade='D'else grade='E'输出百分制成绩和等级。
(2)使用switch语句的main函数结构如下:定义float型变量score,char型变量grade输入百分制成绩赋给scoreswitch(int(score/10)){case 10:case 9: grade='A';break;case 8: grade='B';break;case 7: grade='C';break;case 6: grade='D';break;default: grade='E';break;}输出百分制成绩和等级3.编程实现:输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)分别输出每一位数字,(3)按逆序输出各位数字,如原数为321,则应输出123。
实验三-选择结构程序设计
实验三-选择结构程序设计实验目的:通过编写选择结构程序,掌握选择结构的使用方法和程序设计思路。
实验材料:计算机,编程软件(如C++、Python等),实验指导书。
实验一:利用选择结构判断某数的正负实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量num,用于存储输入的数字。
步骤三:使用输入函数,要求用户输入一个数字,并将其赋值给num。
步骤四:使用选择结构,判断num的正负情况。
如果num大于0,则输出"该数为正数"。
如果num小于0,则输出"该数为负数"。
如果num等于0,则输出"该数为零"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的数字进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入数字的正负情况,并输出相应结果。
实验二:利用选择结构判断某年是否是闰年实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量year,用于存储输入的年份。
步骤三:使用输入函数,要求用户输入一个年份,并将其赋值给year。
步骤四:使用选择结构,判断year是否是闰年。
如果year能够整除4且不能整除100,或者能够整除400,则输出"该年是闰年"。
否则输出"该年不是闰年"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的年份进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入年份是否是闰年,并输出相应结果。
实验三:利用选择结构计算学生成绩等级实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个浮点型变量score,用于存储输入的学生成绩。
步骤三:使用输入函数,要求用户输入一个学生成绩,并将其赋值给score。
步骤四:使用选择结构,根据score的值计算学生的等级。
实验三 选择结构与循环结构程序设计
实验三选择结构与循环结构程序设计(2学时)一、实验目的掌握选择结构与循环结构程序设计的一般方法及其调试方法。
二、实验要求1.仔细阅读下列实验内容,并编写出相应的C语言源程序。
2.在C语言运行环境下,编辑录入源程序。
3.调试运行源程序,注意观察调试运行过程中发现的错误及改正方法。
4.掌握如何根据出错信息查找语法错误。
5. 最后提交完成的C语言源程序(扩展名为.c)文件。
要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
三、实验内容你知道你生日那天是星期几吗,还有你知道你爸爸生日那天是星期几吗?你可能会说:可以查万年历啊。
可是,不查万年历你能计算出来吗?用C语言编程序实现:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到该日期前一年的年末总共有多少天,到该日期前一个月的月末总共有多少天,到这一天总共有多少天,并求出这一天是星期几。
(提示:可以将每个月的天数存储到数组中。
)要求:1. 输入数据时,数据之间以空格隔开。
2. 输出星期几时,要求使用全中文形式(例如“星期一”),而不能使用“星期1”这种形式。
参考测试数据及结果:2012 3 31到前一年年末的天数=734502到前一个月月末的天数=734562到这一天的天数=734593这一天是星期六2014 4 1到前一年年末的天数=735233到前一个月月末的天数=735323到这一天的天数=735324这一天是星期二四、常见问题疑问1:闰年的规律是不是四年一闰?答:四年一闰是儒略历(儒略也就是凯撒大帝)的置闰规则。
我们现在使用的是格里高利历,置闰规则是每400年97闰。
疑问2:公元1年1月1日是星期几呢?答:星期一。
疑问3:据说从儒略历改为格里高利历时,将1582年10月4日的下一天定为格里高利历的10月15日,中间销去了10天,这会不会影响星期几的计算?答:这个调整是对儒略历误差的纠正,并不会影响总天数和星期几的计算。
#include <stdio.h>main(){int t1,t2,t3,i,n,y,r,h;scanf("%d%d%d",&n,&y,&r);t1=0;for(i=1;i<n;i++)if(i%4==0&&i%100!=0||i%400==0)t1=t1+366;elset1=t1+365;printf("所求截止前一年的天数为%d\n",t1); if(n/4==0&&n/100!=0||n/400==0)switch(y-1){ case 0:h=0;break;case 1:h=31;break;case 2:h=60;break;case 3:h=91;break;case 4:h=121;break;case 5:h=152;break;case 6:h=182;break;case 7:h=213;break;case 8:h=244;break;case 9:h=274;break;case 10:h=305;break;case 11:h=335;break;}elseswitch(y-1){case 0:h=0;break;case 1:h=31;break;case 2:h=59;break;case 3:h=90;break;case 4:h=120;break;case 5:h=151;break;case 6:h=181;break;case 7:h=212;break;case 8:h=243;break;case 9:h=273;break;case 10:h=304;break;case 11:h=334;break;}t2=t1+h;printf("所求截至上一月的天数为%d\n",t2);t3=t2+r;printf("所求的天数为%d\n",t3);switch(t3%7){ case 0:printf("所求星期为周日\n");break;case 1:printf("所求星期为周一\n");break;case 2:printf("所求星期为周二\n");break;case 3:printf("所求星期为周三\n");break;case 4:printf("所求星期为周四\n");break;case 5:printf("所求星期为周五\n");break;case 6:printf("所求星期为周六\n");break;}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三选择结构程序设计(4个学时)
一、实验目的
1.掌握逻辑表达式的正确书写方法。
2.掌握单分支和双分支语句的使用。
3.掌握多条件多分支选择结构的使用
二、实验内容
1. 设计一个程序将三个数进行按从大到小的顺序排列。
要求:用InputBox 函数分别输入三个整数,将结果显示在窗体上。
1)代码设计如下
Private Sub Form_click()
Dim a As Integer, b As Integer, c As Integer, t As Integer
a = InputBox("请输入第1个数")
b = InputBox("请输入第2个数")
c = InputBox("请输入第3个数")
If a > b And a > c Then
If c > b Then
t = b: b = c: c = t
End If
End If
If b > a And b > c Then
If a > c Then
t = a: a = b: b = t
Else
t = a: a = b: b = c: c = t
End If
End If
If c > a And c > b Then
If b > a Then
t = a: a = c: c = d
Else
t = b: b = a: a = c: c = t
End If
End If
Print "三个数由大到小的顺序是"; a; ">"; b; ">"; c
End Sub
2)运行后的结果(将运行结果的界面截下来粘贴在下面)
3)调试过程记录(错误情况及改正方法,不得少于三条)
1、在比较时用到一个变量作为介质帮助他们转换数字
2、t=a a=b b=t t为介质
2.设计一个程序,从文本框中输入一个整数,判断该整数的奇偶性,并将结果显示在一个标签上。
要求该程序可反复输入。
1) 代码设计如下:
Private Sub Command1_Click()
If Val(Text1) Mod 2 = 0 Then
Label1.Caption = "输入的数为偶数"
Else
Label1.Caption = "输入的数为奇数"
End If
End Sub
Private Sub Command2_Click()
Text1.Text = " "
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Text1_Change()
End Sub
2)运行结果((将运行后的界面截下来粘贴在下面)
2)调试过程记录(错误情况及改正方法,不得少于三条)
1、从文本中的数值对变量赋值方式V AL(text1)
2、判断语句使用if then
3、Text1.SetFocus setfocus 来决定光标位置
3)
3. 设计一个程序实现输入销售金额,系统自动算出该销售员的奖金,要求用文本框输入销售额,奖
金显示在标签。
(建议用ElseIf语句编程)
商场对售货员的奖励机制如下:若销售额大于或等于20 000元,则提取10%作为奖励;若销售额大于或等于15 000元小于20 000元则提取8%作为奖励;若销售额大于或等于10 000元小于
15 000元则提取6%作为奖励;若销售额小于或等于10 000元,则提取5%作为奖励。
1)代码设计
Private Sub Command1_Click()
Dim n As Single, b As Single
n = Val(Text1)
Select Case n
Case Is >= 2000
b = n * 0.1
Case Is >= 1500
b = n * 0.08
Case Is >= 1000
b = n * 0.06
Case Else
b = n * 0.05
End Select
Label2.Caption = "本月该职工的奖金为" & b & "元"
End Sub
Private Sub Command2_Click()
Text1.Text = ""
End Sub
Private Sub Command3_Click()
End
End Sub
2)运行后的结果(将运行结果的界面截下来粘贴在下面)
3)调试过程记录(错误情况及改正方法,不得少于三条)
1、Elseif语句当应经判断不在上一范围时下面判断条件要再次把范围画出
2、Select语句不用再次划定范围前一范围以去除
4. 编写一个程序,将分数转换成等级。
要求用InputBox函数输入一个百分制成绩,在窗体上输出不及格(小于60分)、及格(大于等于60分小于75分)、良好(大于等于75分小于90分)和优秀(90分以上)。
如果输入的成绩小于0或大于100,则用MsgBox提示错误并重新输入。
(建议用、Select Case语句编程)
1)代码设计
Private Sub Form_Load()
Show
Dim x As Single, y As String
x = Val(InputBox("请输入分数", "提示"))
Select Case x
Case Is >= 90
y = "优秀"
Case Is >= 75
y = "良好"
Case Is >= 60
y = "及格"
Case Else
y = "不及格"
End Select
Print "你输入的分数是:"; x
Print "对应的成绩的等级是:"; y
End Sub
2)将输入78分时,程序运行的结果图截下粘贴在下面。
3)调试过程记录(错误情况及改正方法,不得少于三条)
1、Select case 与ifelse区别
2、MsgBox "必须输入0~100之间的整数!" & Chr(13) & "单击回车后重新输入", vbCritical
3、Msgbox的表示方法msgbox””不写入= 用&连接。