实验3选择结构程序设计
- 格式:docx
- 大小:725.04 KB
- 文档页数:6
实验三-选择结构程序设计实验三-选择结构程序设计实验三选择结构程序设计实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法6. 培养解决实际问题的能力实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_。
输入测试数据:23 56程序运行结果:max=56 #include void main() {int a,b,max;scanf(\ /*从键盘输入两整数*/ max=a;if(max void main() {char c;scanf(\ if('a' void main() {int m,n;printf(\ m & n:\ scanf(\if(m%n==0) /*判断m能否被n整除*/ printf(\ elseprintf(\}第一次运行程序,输入测试数据:21 7 程序运行结果:m=21,n=7 第二次运行程序。
输入测试数据:23 6 程序运行结果:5 小结:1.此题可扩展为,判断一个数是偶数还是奇数。
若m是偶数则只需考虑m能否被2整除,若能整除,则m是偶数,不能整除则m是奇数。
实验三选择结构程序设计一、实验目的1.熟悉JDK开发环境2.进一步了解Java Application的程序结构和开发过程3.掌握选择结构程序设计二、实验环境:JDK1.5三、实验内容编写程序,在主类中完成以下功能。
提示:输入数据可以用java.util.Scanner包中的Scanner(中文意思是扫描仪)类,用法如下例:import java.util.Scanner;//必须要先导入java.util.Scanner包public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//创建Scanner类的对象scSystem.out.println("请输入一个整数:");//输出提示信息int i = sc.nextInt();//sc对象的nextInt()方法可得到整数System.out.println(i);}}这个例子就可以得到一个整型的数据,然后输出。
1.从键盘上输入3个整数分别存入变量a,b,c,输出其中的最大值。
2.输入一个整数,打印出它是奇数还是偶数。
3.计算如下分段函数值:具体要求如下:①用if语句实现分支。
自变量x与函数值均用单精度类型。
②自变量x由键盘输入,且输入前要有提示。
结果的输出采用以下形式:x=具体值,f(x)=具体值③请编写程序并上机调试。
分别输入x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0,运行该程序,写出运行结果。
4.输入一个年份,判断是不是闰年。
闰年的条件有两个:①能被4整除,但不能被100整除;②能被400整除。
5.由键盘输入3个整数,判断以此3个数为边长的三角形属于什么类型(不等边、等腰、等边或不能构成三角形)。
请编写程序并上机调试。
6.根据百分制分数决定成绩等级如下:①80分(含)以上为A级。
实验三选择结构程序设计程序设计是计算机科学中的核心技能之一,它涉及到使用编程语言来解决特定问题。
在程序设计中,选择结构是基本的控制流程之一,它允许程序根据不同的条件执行不同的代码块。
本实验旨在通过一系列练习,帮助学生理解和掌握选择结构程序设计的基本方法和技巧。
实验目的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`语句实现一个简单的菜单选择程序。
实验三选择结构程序设计实验目的:1.掌握C语言表示逻辑量的方法(以0代表“假”,非0代表“真”)。
2.学会正确使用关系运算符、逻辑运算符及关系表达式、逻辑表达式。
3.熟练掌握各种if语句和switch语句的语法结构和语句功能。
4.结合程序,掌握选择结构程序设计的一般方法,能够用多种方法编写同一程序。
实验内容:1.输入并调试以下程序:(1)#include<stdio.h>main(){int a,b;printf("Enter an integer:");scanf("%d",&a);b=1;if(++a<0) b=-1;else if (a==0) b=0;printf("a=%d,b=%d\n",a,b);}运行时,若从键盘上输入-1↙则程序运行结果是:(2)#include <stdio.h>main(){int a1=10,a2=20,a3=30;char ch;ch=getchar();switch(ch){case 'A': a1++;a2++;break;default: a3++;case 'B': a2++;a3++;}printf("%d,%d,%d\n",a1,a2,a3);}若从键盘上输入:BAC↙则程序运行结果是:2.程序填空(完善程序)。
以下程序的功能是:从键盘输入三个整型数据,对这三个数据进行从小到大排序,并输出排序后的数据。
请在下划线处填上适当的内容,以完成该程序的功能。
#include<stdio.h>main(){int x,y,z,i;scanf("%d,%d,%d",&x,&y,&z);if( ){ i=x; x=y; y=i; }if( ){ i=x; x=z; z=i; }if( ){ i=y; y=z; z=i; }printf("%d,%d,%d\n",x,y,z);}3.给出一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。
实验三选择结构程序设计一、实验目的1.熟悉关系表达式和逻辑表达式。
2.掌握逻辑IF、块IF、多支块IF、SELECT语句的语法规则和使用要求。
3.掌握嵌套选择结构和嵌套选择语句的使用要求和实现方法。
4.掌握选择结构概念和选择结构程序设计方法。
二、实验内容1. 教材第35页例3.2 编程求任意一元二次方程AX2+BX+C=0的根,其中A、B、C为任意实数。
分析:该问题根据A是否为0分为两种情况操作步骤:(1)启动Fortran PowerStation 4.0的Microsoft Developer Studio,进入Fortran PowerStation 4.0的集成开发环境。
(2)从File菜单中选择New菜单项,在弹出的对话框中选取Project Workspace建立一个项目工作间,在接着弹出的对话框的Type 选择Console Application, Name栏内填入项目名称(输入LAB03),Location内选择保存位置(自己的文件夹),单击Create按钮。
(3)在Standard工具栏中选择新建按钮,输入以上程序。
输入完毕,以EX301.F90为文件名保存源程序。
(4) 选择Insert菜单中的Files into Project, 向项目工作间内添加该文件。
(5)按Shift+F8,对项目进行编译和连接,如果有错误,根据提示修改错误;编译无错误,则会生成扩展名为.exe的文件。
(6) 按Ctrl+F5, 程序开始运行,这时输入:2 53 回车10 3 5 回车1 2 1 回车0 3 5 回车0 0 5 回车观察屏幕显示运行结果。
(7) 运行该程序,计算a=17.2 , b=38.3, c=12.1 时x1=…, x2=…2. 教材第35页例3.4 编写程序,输入年月,输出该月所对应的天数。
操作步骤:(1) 新建一个文件,输入自己编写的程序,以EX302.F90为文件名保存源程序。
实验3选择结构程序设计(续)【实验目的】1 •掌握分支条件语句的使用。
2. 掌握分支嵌套语句的使用。
【实验内容】1.通过In put ()函数任意输入三条边长,经过简单的计算后,判断三条边长能否构成三角形,并确定是类型的三角形,如(等边,等腰,一般三角形)。
a=in put ("Please in put the len gth of a:" )b=in put ("Please in put the len gth of b:" )c=in put ("Please in put the len gth of c:" )if a+b>c and a+c>b and b+c>a:if a==b==c:print "This is an equilateral tria ngle."if a==b or a==c or b==c:print "This is an isosceles tria ngle."if a!=b!=c:print "This is a scale ne tria ngle."else :print "These len gths can n ot form a tria ngle."2.密码登录程序。
要求:建立一个登录窗口,要求输入帐号和密码。
设定用户名为” zhangshan”,密码为“ Python123” ;若用户名正确,密码正确,则显示“ Zhangshan 先生,欢迎你!” ;如果用户名错误,则显示“用户名错误,请重新输入!” ;若密码不正确,显示“对不起,密码错误,无法登录!”。
x=raw_input ("User:")y=raw_input ("Password:")if x=="zhangshan" and y=="Python123":print "Welcome,!"if x=="zhangshan" and y!= "Python123":print "Wrong right to log-i n."while x!= "zhangshan" and y=="Python123":x= raw_input ("Wrong user's enter again:" )if x=="zhangshan":print "Zhangshan先生,欢迎你!"3. 设有三个变量a,b,c,分别对三个变量赋值,并对三个变量进行排序。
实验三(选择结构程序设计)-
实验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 选择结构程序设计一、实验目的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 选择结构程序设计一、实验目的及任务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。
实验三选择结构程序设计1. MATLAB源程序:x=input('请输入x的值:');if x<0&x~=-3y=x*x+x-6;elseif 0<=x&x<5&x~=2&x~=3y=x*x-5*x+6;elsey=x*x-x-1;endyMATLAB运行结果:请输入x的值:-5y =14请输入x的值:-3y =11请输入x的值:1y =2请输入x的值:2y =1请输入x的值:2.5y =-0.2500请输入x的值:3y =5请输入x的值:5y =192.(1).用if语句来编程:MATLAB源程序:x=input('输入成绩:');if x<0|x>100disp('输入出错'); elseif x>=90&x<=100disp('A');elseif x>=80&x<=90;disp('B');elseif x>=70&x<=80;disp('C');elseif x>=60&x<=70;disp('D');elsedisp('E');endMATLAB运行结果:输入成绩:118输入出错输入成绩:108输入出错输入成绩:98A输入成绩:88B输入成绩:78C输入成绩:68D输入成绩:58E输入成绩:48E输入成绩:18E输入分数-88输入出错输入分数-108输入出错(2).用switch语句来编程: MATLAB源程序:grade=input('请输入百分制分数');switch fix(grade/10)case{9}disp('A');case{8}disp('B');case{7}disp('C');case{6}disp('D');case num2cell(0:5)disp('E');otherwisedisp('成绩出错');endMATLAB运行结果:请输入百分制分数118成绩出错请输入百分制分数108成绩出错请输入百分制分数98A请输入百分制分数88B请输入百分制分数78C请输入百分制分数68D请输入百分制分数58E请输入百分制分数48E请输入百分制分数-88成绩出错请输入百分制分数-108成绩出错4 MATLAB源程序:clc;x=randint(1,2,[10,100])y1=x(1)+x(2)y2=x(1)-x(2)y3=x(1)*x(2)y4=x(1)/x(2)MATLAB运行结果:x =27 54y1 =81y2 =-27y3 =1458y4 =0.50005.MATLAB源程序:x=randint(1,30,[8,88]);y=reshape(x,5,6)n=input('请输入n的值:');if n>=0&n<6;y(n,:)elsey(5,:)disp('the input is wrong');endMATLAB运行结果:y =18 24 84 58 67 77 47 53 14 54 13 7177 59 16 12 77 4978 41 19 83 83 22 29 24 21 67 87 40请输入n的值:1ans =18 24 84 58 67 77 y =18 34 53 22 88 41 10 45 77 61 51 45 84 60 36 34 65 69 32 10 44 80 88 74 31 76 12 17 31 16请输入n的值:8ans =31 76 12 17 31 16 the input is wrong。
实验三选择结构程序设计班级学号姓名完成日期课(内、外)总计本实验用时间一、实验目的1、熟悉VC6.0编程环境。
2、进一步熟悉用VC6.0调试C语言源程序的过程。
3、熟练使用关系表达式和逻辑表达式作为if语句的条件判断。
4、熟练掌握if语句和switch语句的使用方法。
二、实验内容1、输入3个整数,判断该3个整数能否构成三角形。
程序代码:设计多组测试数据对程序进行测试,并观察运行结果。
将程序的运行情况写在下面。
『运行结果:』2、使用switch语句实现下面程序。
输入一个学生的两门课成绩(百分制),计算该学生的总分并要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。
总分在180分以上为‘A’,160~179分为‘B’,140~159分为‘C’,120~139分为‘D’,120分以下为‘E’。
具体要求:①学生的两门课成绩通过键盘输入,成绩应该都为整数,输入之前要有提示信息。
②若输入的成绩不是百分制成绩,则给出错误提示信息,并且不再进行下面的等级评价;若输入的成绩是百分制成绩,则计算总分,并根据要求评价等级。
③按下面形式输出结果:总分----〉等级如:186----〉A把正确的程序源代码写在下面。
程序代码:设计多组测试数据对程序进行测试,并观察运行结果。
将程序的运行情况写在下面。
『运行结果:』三、问题讨论在使用switch语句时,switch和case后值的类型要求以及default子句和break语句的位置有什么需要注意的地方?举例说明。
四、实验总结1 总结本次实验完成情况、相关知识掌握情况2 总结本次实验编辑、编译、连接、运行所取得的经验3 分析本次实验出现的主要错误最直接原因。
淮海工学院计算机科学系实验报告书课程名:《 C语言程序设计A 》题目:实验2 程序流程设计——选择结构程序设计班级:软嵌151学号:2015123349姓名:陈正宁1、实验内容或题目(1)编写一个程序,输入一个字母,若为大写字母,将其转换为小写字母后输出,否则原样输出。
(2)编写一个程序判断用户输入的字符是数字字符、字母字符还是其他字符。
(3)编写一个程序,输入年号和月份,判断该年是否为闰年,并根据给出的月份判断是什么季节和该月有多少天?闰年的条件是年号能被4整除但不能被100整除,或者能被400整除。
(4)编写一个程序,求ax2+bx+c=0方程的根。
(5)给出一个百分制的成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。
90分以上的为’A’,80~89分的为’B’,70~79分的为’C’,60~69分的为’D’,60分以下的为’E’。
(要求使用switch语句)2、实验目的与要求(1)进一步熟悉熟悉VC++6编译环境,掌握运用VC编译C程序的基本方法;(2)学会使用C语言的常用运算符,以及包含这些运算符的表达式;(3)掌握常见的流程控制结构(顺序、选择),学会运用这两种控制结构编写C程序。
3、实验步骤与源程序⑴实验步骤(2)、(4)、(5)、⑵源代码(1)、#include<stdio.h>int main(){char ch;scanf("%c",&ch);if(ch>='A'&&ch<='Z'){ch+=32;printf("%c\n",ch);}elseprintf("%c\n",ch);return 0;}(2)、#include<stdio.h>int main(){char ch;ch=getchar();if(ch>='0'&&ch<='9')printf("您输入的是数字字符\n");else if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') printf("您输入的是字母字符\n");elseprintf("您输入的是其他字符\n");return 0;}(3)、#include<stdio.h>int main(){int year,month,days,leap;scanf("%d %d", &year,&month);if(year%4==0&&year%100!=0||year%400==0) leap=1;elseleap=0;if(leap)printf("%d is a leap year\n",year);elseprintf("%d is not a leap year\n",year);{if(leap=1){if(month==2)printf("the month has 29 days\n");else if(month==1||3||5||7||8||10||12)printf("the months has 31 days\n");elseprintf("the months has 30 days\n");}}{if(leap=0){if(month==2)printf("the month has 28 days\n");else if(month==1||3||5||7||8||10||12)printf("the months has 31 days\n");elseprintf("the months has 30 days\n");}}{if(month>=3&&month<=5)printf("spring\n");else if (month>=6&&month<=8)printf("summer\n");else if (month>=9&&month<=11)printf("autumn\n");elseprintf("winter\n");return 0;}}(4)、#include<stdio.h>#include<math.h>void main(){double a,b,c,disc,x1,x2,p,q; //disc是判别式sqrt(b*b-4ac)printf("请输入[a,b,c enter]\n");scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(0==a){if(0==b){if(0==c)printf("此方程有任意解.\n");else // a=0 b=0 c!=oprintf("此方程无解.\n");}else // a=0 b=!0{x1=-c/b;x2=-c/b;printf("此方程的解为:x1=x2=%lf\n",x1,x2);}}if(0!=a){if(disc<0)printf("此方程无实数根\n");else{p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf("此方程的两个实数根为:x1=%7.2f,x2=%7.2f\n",x1,x2);}}}(5)、#include<stdio.h>int main(){int score;printf("You score:");scanf("%d",&score);switch((int)score/10){case 10:case 9:printf("You grade:A\n");break;case 8:printf("You grade:B\n");break;case 7:printf("You grade:C\n");break;case 6:printf("You grade:D\n");break;case 5:case 4:case 3:case 2:case 1:case 0:printf("You grade:E\n");break;}return 0;}4、测试数据与实验结果(可以抓图粘贴)(1)、(2)、(3)、(4)、(5)、5、结果分析与实验体会结果分析:(1)第三题一开始的时候不知道如何用算法判断某一年是否为闰年。
实验三-选择结构程序设计实验目的:通过编写选择结构程序,掌握选择结构的使用方法和程序设计思路。
实验材料:计算机,编程软件(如C++、Python等),实验指导书。
实验一:利用选择结构判断某数的正负实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量num,用于存储输入的数字。
步骤三:使用输入函数,要求用户输入一个数字,并将其赋值给num。
步骤四:使用选择结构,判断num的正负情况。
如果num大于0,则输出"该数为正数"。
如果num小于0,则输出"该数为负数"。
如果num等于0,则输出"该数为零"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的数字进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入数字的正负情况,并输出相应结果。
实验二:利用选择结构判断某年是否是闰年实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个整型变量year,用于存储输入的年份。
步骤三:使用输入函数,要求用户输入一个年份,并将其赋值给year。
步骤四:使用选择结构,判断year是否是闰年。
如果year能够整除4且不能整除100,或者能够整除400,则输出"该年是闰年"。
否则输出"该年不是闰年"。
步骤五:保存程序文件,运行程序。
步骤六:测试程序功能,输入不同的年份进行测试,并查看输出结果是否符合预期。
实验结果:经过多次测试,该程序能够正确判断输入年份是否是闰年,并输出相应结果。
实验三:利用选择结构计算学生成绩等级实验步骤:步骤一:打开编程软件,创建一个新的程序文件。
步骤二:定义一个浮点型变量score,用于存储输入的学生成绩。
步骤三:使用输入函数,要求用户输入一个学生成绩,并将其赋值给score。
步骤四:使用选择结构,根据score的值计算学生的等级。
实验三 选择结构程序设计 ( 学时)一、实验目的1.了解C 语言的关系运算和逻辑运算,掌握关系运算符和逻辑运算符的使用方法。
2.学会使用if 语句和switch 语句。
3.熟练掌握选择结构程序设计方法。
4.结合程序掌握一些常用的简单算法。
5.学会调试程序。
二、实验重点1.学会正确使用逻辑运算符和逻辑表达式。
2.熟练掌握if 语句和switch 语句三、实验难点1.正确理解逻辑运算表达式的值。
2.熟练掌握if 语句和switch 语句。
四、实验内容及步骤1.有一个函数:⎪⎩⎪⎨⎧≥-<≤-<=)10(113)101(12)1(x x x x x x y ,编写一个完整的程序,输入x ,输出y 值。
解题思路:(1)根据输入x 的不同求y 的值,使用if 语句,本题x 和y 均取float 类型(也可取int 类型)。
(2)分别输入三个分段中的三个数,判断输出结果是否正确,测试程序正确与否。
参考程序如下:#include <stdio.h>void main( ){float x,y;printf("input x:");scanf("%f",&x);if( x<1 )y=x;if( x>=1 && x<10 )y=2*x-1;if( x>=10 )y=3*x-11;printf("y=%f\n",y);}(3)试将(2)中的if 语句结构更改为if …else …结构,并调试运行出正确结果。
2.从键盘输入一个字符,可以是数字、字母、或是标点符号,对输入的字符进行判断,如果是数字则输出“* is a number!”,如果是字母则输出“* is a letter!”,如果是其他的字符怎输出“* is the other!”(*代表输入的字符)解题思路:(1)从键盘输入一个字符,用char类型变量存储。
实验三 选择结构程序设计一:目的要求1.熟悉用关系运行与逻辑运行符的应用;2.掌握if 语句与switch 语句的使用;3.上机前按实验要求预习编写出完整的程序,才允许上机。
二:实验内容与步骤1、从键盘输入一个年份,判断其是不是闰年;2、从键盘输入a 、b 、c 三个数,并求出方程02=++c bx ax 的解,要求考虑有两个不等实根、两个相等实根、两个虚根的情况,要根据a 、b 、c 的不同值,给出不同结果的提示。
1.#include <stdio.h>int main(){int year,leap;printf("enter year:"); scanf("%d",&year);if (year%4==0)if(year%100==0)if(year%400==0) leap=1;else leap=0;else leap=1;else leap=0;if (leap) printf("%d is ",year);else printf("%d is not ",year);printf("a leap year.\n");return 0;}2#include <stdio.h>#include <math.h>int main(){double a,b,c,disc,x1,x2,realpart, imagpart;scanf("%lf,%lf,%lf",&a,&b,&c);printf("The equation ");if(fabs(a)<=1e-6)printf("is not a quadratic\n");else{disc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("has two equal roots:%8.4f\n", -b/(2*a));elseif(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("has distinct real roots:%8.4fand %8.4f\n",x1,x2);}else{ realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(" has complex roots:\n");printf("%8.4f+%8.4fi\n”,realpart,imagpart);printf("%8.4f-%8.4fi\”, realpart,imagpart);}}return 0;}。
实验三选择结构程序设计一、计划学时:2学时二、实验目的:1、掌握算法的基本描述方法;2、掌握IF语句的各种格式;3、掌握Select Case 语句的使用方法;4、掌握If 语句和Select Case语句的关系与转换方法三、实验预备知识:选择结构的概念:在程序设计中会遇到这样的情况,下面该做什么,不是绝对的,而是根据情况,有时这样,有时那样。
这种根据情况选择执行的结构又称为分支结构,它是根据给定的条件,选择执行多个分支中的一个分支的算法结构,在选择结构中,必然包括一个判断条件的操作,即根据逻辑条件的判断结果选择执行的语句分支,基本格式如下:If…Then…ElseIf…then…End ifSelect Case …End Select四、实验内容:3-1 编制一个求分段函数值的程序要求:(1) 界面如图3-1(a)、(b)所示。
(2)从文框输入a,值后,单击“计算”钮后,按以下公式计算并输出Y值.{Lna+lnb ,a>0,b>0Sina+Sinb ,a>0,b<=0Sina+Cosb ,a<=0步骤:(1)创建窗体,绘制界面,分别建立三个标签,两个文本框,三个命令按钮和一个框架(Frame),其中,标签Table3放置于框架中,用于显示运算结果。
(2)设置各个对象的属性,如表3-1所示。
表3-1 对象属性设置对象类型对象名称属性名属性值备注文本框Text1 Text 空Text2 Text 空命令按钮Command1 caption 确定Command2 caption 下一组Command3 caption 结束框架Frame1 caption 结果标签Label caption a=Label2 caption b=Label3 caption 空用于显示执行结果(3)编写代码;(4)保存文件;(5)运行程序。
3-2 编制一个判断某数能否被3、5、7整除的程序要求:输入一个整数,单击“判断”按钮判断它能否同时被3,5,7整除,若能整除,则图3-1(a) 分段函数界面图3-1(b)分段函数运行界面在窗口上显示“能同时被3,5,7整除”,否则显示“不能同时被3,5,7整除”。
指导教师:何红玲班级:计科三班实验名称:选择结构程序设计姓名:蒋兴发实验编号:实验三学号:201111010309实验学时:2个组号:日期:2011年10月13日实验成绩:一、实验目的1.进一步熟悉C语言运行环境VC++6.02.掌握选择结构程序设计的方法;3. 掌握if-else语句的应用4. 掌握switch语句的应用二、实验内容1.体型判断按“体指数”对肥胖程度进行划分:体指数t = w / h2 (体重w单位为公斤,身高h单位为米)当t < 18时,为低体重;当18 ≤ t < 25时,为正常体重;当25 < t < 27时,为超重体重;当t ≥ 27时,为肥胖。
编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。
用3种方法编程:算法1:用不带else子句的if语句编程算法2:用在if子句中嵌入if 语句的形式编程算法3:用在else子句中嵌入if 语句的形式编程[程序代码]1#include<stdio.h>int main(){float t,w,h;printf("输入升高:");scanf("%f",&h);printf("输入体重:");scanf("%f",&w);t=w/(h*h);if ( t< 18 )printf("低体重\n");if (t>=18 && t<25)printf("正常体重\n");if (t>25 && t<27)printf("超重体重\n");if (t > 27)printf("肥胖\n");return 0;}[运行结果]2. [程序代码]2#include<stdio.h>int main(){float t,w,h;printf("输入升高:");scanf("%f",&h);printf("输入体重:");scanf("%f",&w);t=w/(h*h);if (t<25){if(t>18&&t<25){printf("正常体重\n");}else{printf("低体重\n");}}elseif(t>=25&&t<27)printf("低体重\n");elseprintf("超重体重\n");return 0;}结果2.简单的计算器程序用switch语句编程设计一个简单的计算器程序。
实验3 选择结构程序设计实验目的:1.掌握关系表达式和逻辑表达式的使用;2.熟悉选择结构程序设计;3.熟练使用 if 语句进行程序设计;4.掌握使用switch 语句实现多分支选择结构;5.掌握程序的书写风格,进一步提高调试和修改程序的能力。
实验内容:1.阅读下面的程序,说明其功能,然后运行并观察分析结果。
程序一:#include <stdio.h>void main( ){int x,y;printf(“Enter integer x and y :\n”);scanf(“%d%d”,&x, &y);printf(“x= %d, y =%d\n”,x,y);if(x>y) printf(“x=%d\n”,x);if(y>x) printf(“y=%d\n”,y);if(x==y) printf(“x=y=%d\n”,x);}程序功能:输出两数中较大的一个数。
如输入12和15,运行结果如下:若输入12和12,运行结果如下:程序二:#include <stdio.h>void main( ){int a,b,c,t;printf(“input integer a, b,c :\n”);scanf(“%d%d%d”,&a, &b,&c);printf(“a= %d, b =%d, c =%d \n”,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, %d; %d\n”,a,b,c);}程序功能:按从小到大的顺序排列a,b,c三个数。
若输入a=12,b=13,c=11三数,运行结果如下:程序二:#include <stdio.h>void main( ){int n;printf(“Enter integer n : ”);scanf(“%d”,&n);if(n%2)printf(“n=%d is odd.\n”,n);elseprintf(“n=%d is even.\n”,n);}程序功能:判断一个整数的奇偶性。
《C语言程序设计》实验报告----------------------------------------------------------------------------------------------实验3选择结构程序设计一.实验目的1.了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
2.学会正确使用逻辑运算符和逻辑表达式3.熟练掌握if语句和switch语句;4.结合程序掌握一些简单的算法。
5.学习调试程序二.实验内容和步骤1.基础知识和概念(1)分析下面程序,掌握关系表达式的运算规则。
#include <stdio.h>int main(){char ch='w';int a=2,b=3,c=1,d,x=10;printf("%d",a>b==c);printf("%d",d=a>b);printf("%d",ch>'a'+1);printf("%d",d=a+b>c);printf("%d",3<=x<=5);printf("%d\n",b-1==a!=c);return 0;}总结与反思:1.运用关系运算符比较的结果,真为1,假为0;2.注意掌握运算符的优先顺序;3. (3<=x)<=5结果为真=1,(1==1)!=1结果为假=0(2)分析运行下面的程序,掌握逻辑表达式的运算规则。
#include <stdio.h>int main(){char ch='w';int a=2,b=0,c=0;float x=3.0;printf("%d",a&&b);printf("%d",a||b&&c);printf("%d",!a&&b);printf("%d",a||3+10&&2);printf("%d",!(x==2));printf("%d",!x==2);printf("%d\n",ch||b);return 0;}总结与反思:1.运用逻辑运算符比较的结果,真为1,假为0;2.逻辑与&&优先级11大于逻辑或||优先级12(3)分析运行下面的程序,掌握关系及逻辑混合表达式的运算规则。
#include <stdio.h>int main(){int a=3,b=5,c=8;if(a++<3&&c--!=0) b=b+1;printf("a=%d\tb=%d\tc=%d\n",a,b,c);return 0;}总结与反思:该程序中的条件判断表达式“a++<3&&c--!0”是一个逻辑表达式,关系表达式“a++<3”的值为假,因此后一部分“c--!=0”不再计算。
2.程序改错和填空(1)给定程序c3-4.c的功能是,对于以下函数:y=x(x<1)y=2x-1(1<=x<10)y=3x-11(x>=10)用scanf函数输入x的值,求y的值。
#include <stdio.h>int main(){int x,y;scanf("%d",&x);if (x<1) y=x;else if (1<=x&&x<10) y=2*x-1;else y=3*x-11;printf("y=%d\n",y);return 0;}反思与总结:1.在紧跟着if选择语句的条件表达式的圆括号之后没有分号;2.定义的x是int型,键入的x=0.5时,y就会向零取整等于0,而不是0.5!(2)以下给定程序c3-5.c的功能是输入一个年份,判断该年是否为闰年。
#include <stdio.h>int main(){int year,leap;printf("Please enter a year:");scanf("%d",&year);if (year%4!=0) leap=0;else if ((year%100)!=0) leap=1;else if ((year%400)!=0) leap=0;else leap=1;if(leap)printf("%d is a leap year\n",year);elseprintf("%d is not a leap year\n",year);return 0;}总结与反思:1.错误不一定只在语法结构上,也可能在逻辑思维上;2.能被4整除但不能被100整除的year或者能被400整除的year是闰年。
(3)以下给定程序c3-6.c的功能是实现两个浮点数的四则运算。
#include <stdio.h>main(){float d1,d2;char op;printf("输入d1 op d2");scanf("%f%c%f",&d1,&op,&d2);switch(op){float temp;case '+' :temp=d1+d2;printf("%f %c %f=%f\n",d1,op,d2,temp);break;case '-' :temp=d1-d2;printf("%f %c %f=%f\n",d1,op,d2,temp);break;case '*' :temp=d1*d2;printf("%f %c %f=%f\n",d1,op,d2,temp);break;case '/' :temp=d1/d2;printf("%f %c %f=%f\n",d1,op,d2,temp);break;default:printf("错误!\n");}return 0;}总结与反思:在本题中op代表了四则运算运算符号,temp代表了浮点数结果。
3.程序设计题(1)从键盘上输入某学生的考试成绩,要求输出成绩等级A、B、C、D、E。
学生的成绩可分成5个等级,90~100分为A级,80~89分为B级,70~79分为C级,60~69分为D级,0~59分为E级,要求在输出负数时,给出错误提示。
#include<stdio.h>int main(){int x;scanf("%d",&x);if(x>100||x<0) printf("输入数据错\n");elseswitch(x/10)如果漏写了else,运行结果就变成:{case 6:printf("D\n");break;case 7:printf("C\n");break;case 8:printf("B\n");break;case 9:case 10:printf("A\n");break;default:printf("E\n");break; 正确的运行结果应为:}return 0;}总结与反思:1.先判断数据是否合理,再switch,正好解决了100与101的区别问题。
2.case后面的表达式一定是常量表达式,其值的类型一般为整型或可自动转为整型的类型(例如字符型)(2)根据输入的三角形的三条边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。
#include<stdio.h>#include<math.h>int main(){float a,b,c,p,s;scanf("%f,%f,%f",&a,&b,&c);p=0.5*(a+b+c);s=sqrt(p*(p-a)*(p-b)*(p-c));if(a+b<=c||a+c<=b||b+c<=a) printf("不能构成三角形\n");else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a) printf("是直角三角形\ns=%f\n",s);else if(a==c&&b==c) printf("是等边三角形\ns=%f\n",s);else if(a==b||a==c||b==c) printf("是等腰三角形\ns=%f\n",s);else printf("是一般三角形\ns=%f\n",s);return 0;}总结与反思:1.\n的位置是放在格式说明部分的引号里面 2.运用数学公式别忘了#include<math.h>3.第一步要把所有需要用到的变量先全部定义出来,才能进行下一步(比如scanf)(3)输入某职工的工资,根据不同档次扣除工资所得税,然后计算实发工资。
#include<stdio.h>int main(){float fs,rs;scanf("%f",&fs);if(fs<850) rs=fs;else if(fs<=1500) rs=fs-0.01*fs;else if(fs<=2000) rs=fs-0.015*fs;else rs=fs-0.02*fs;printf("rs=%.2f\n",rs);return 0;}总结与反思:1.用scanf输入,&总是忘记!2.在界定if···else语句后的复合语句时别忘了加花括号{;}(4)对于一个不多于5位的正整数,1.求出它是几位数;2.分别打印出每一位数字;3.按逆序打印出各位数字。
#include <stdio.h>int main(){int a,b,c,d,e,n;printf("请输入一个五位数以下的正整数\n");scanf("%d",&n);a=n/10000;b=(n-a*10000)/1000;c=(n-a*10000-b*1000)/100;d=(n-a*10000-b*1000-c*100)/10;e=(n-a*10000-b*1000-c*100-d*10);if (n<0||n>99999) printf("输入错误\n");else if (9999<n) printf("这是五位数\n%d%d%d%d%d\n",e,d,c,b,a);else if (999<n) printf("这是四位数\n%d%d%d%d\n",e,d,c,b);else if (99<n) printf("这是三位数\n%d%d%d\n",e,d,c);else if (9<n) printf("这是两位数\n%d%d\n",e,d);else printf("这是一位数\n%d\n",e);return 0;}总结与反思:注意取各个位数的方法。