实验4 选择结构程序设计

合集下载

实验4 选择结构程序设计

实验4 选择结构程序设计

实验4 选择结构程序设计实验4选择结构程序设计实验4结构选择与程序设计一、实验目的1.掌握C语言中逻辑量的表示和使用。

2.掌握if语句和switch语句的使用。

3.熟悉各种表达式作为if语句及switch语句的条件。

4.了解turboc程序的基本调试方法。

二、实验内容1.验证性实验(1)分析程序的运行结果。

① 运行以下程序,输入1-7之间的任意数字,并观察程序#includevoidmain(){intweek的运行结果;printf(\scanf(\switch(week){case1:printf(\case2:printf(\case3:printf(\case4:printf(\case5:printf (\case6:printf(\case7:printf(\default:printf(\}}② 运行以下程序5次,输入数据分别为1、2、3、4和5。

请观察每次的操作结果,并根据结果分析原因。

#includevoidmain(){intn,a=0,b=0,c=0,d=0,k=0;scanf(\switch(n){case1:b++;break;case2:c++;案例3:d++;打破case4:k++;default:a++;}printf(\}(2)输入x的不同值,以下程序将求一给定“y=f(x)”函数的值。

#包括#includevoidmain(){floatx,y;scanf(\if(x<0)y=fabs(x);elseif(x<10)y=x*x;elsey=log10(x);printf(\}2.填写程序的空格(1)以下程序的功能是将用户输入的字母进行大小写转换,即若输入小写字母则将其转换为大写字母,如输入大写字母则将其转为小写字母,若输入非字母字符则输出提示信息。

#includevoidmain(){charc;scanf(\如果('a'<=c&&c>='z')c=c-32;elseif(‘a’<=c&&c>=‘z’)c=c+32;elseprintf(\printf(\}(2)公司将立即增加工资。

实验四选择结构程序设计

实验四选择结构程序设计

实验四选择结构程序设计在程序设计的世界里,选择结构就像是一个智能的决策者,根据不同的条件来决定程序的走向。

这一结构在解决各种实际问题中发挥着至关重要的作用,让程序变得更加灵活和高效。

选择结构,简单来说,就是让程序在运行时能够根据某些条件的判断结果,选择执行不同的代码块。

想象一下,你正在编写一个程序,要根据用户输入的成绩来判断他是否及格。

如果成绩大于等于 60 分,就输出“及格”;否则,输出“不及格”。

这就是一个典型的选择结构应用场景。

在大多数编程语言中,实现选择结构主要有两种方式:if 语句和switch 语句。

先来说说 if 语句。

它的基本形式是“if (条件) {代码块}”。

如果条件为真,就执行花括号里的代码块;如果条件为假,就跳过这个代码块,继续执行后面的代码。

比如说,我们要判断一个数是否为正数,可以这样写:```javaint num = 5;if (num > 0) {Systemoutprintln("这是一个正数");}```除了简单的 if 语句,还有 ifelse 语句。

它的形式是“if (条件) {代码块 1 } else {代码块 2 }”。

如果条件为真,执行代码块 1;如果条件为假,执行代码块 2。

例如,判断一个数是奇数还是偶数:```javaint num = 6;if (num % 2 == 0) {Systemoutprintln("这是一个偶数");} else {Systemoutprintln("这是一个奇数");}```另外,还有 ifelse ifelse 语句,可以处理多个条件的情况。

比如,根据学生的成绩划分等级:```javaint score = 85;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}```接下来,再讲讲 switch 语句。

实验四_选择结构程序设计

实验四_选择结构程序设计

实验四选择结构程序设计实验目的与要求:1、学会正确使用逻辑运算符和逻辑表达式的方法。

2、掌握程序的书写风格。

3、熟练掌握if语句的使用。

4、熟练掌握switch语句的使用。

实验内容:1、程序填空。

以下程序功能:有一函数:x (x<1)y= 2x-1 (1≤x≤10)3x-11 (x≥10)用scanf函数输入x的值,求y值。

运行程序,输入x的值(分别为x<1、1≤x<10、x≥10三种情况),检查输出的y值是否正确。

#include "stdio.h"void main(){float x,y;printf("请输入x的值:");scanf("___1___",&x);if(___2___)printf("y的值为:%f\n",y=x);else if(___3___&&___4___)printf("y的值为:%f\n",_____5____);elseprintf("y的值为:%f\n",y=3*x-11);}程序改错。

程序功能:计算器程序。

用户输入两个运算数和四则运算符,输出计算结果。

#include "stdio.h"void main(){double x,y;char ch;printf("请输入两个运算数和四则运算符(例4+5):");/***************found******************/scanf("%d%c%lf",&x,&ch,&y);switch(ch){/***************found******************/case '+':printf("结果为:%f\n",x+y);case '-':printf("结果为:%f\n",x-y);break;case '*':printf("结果为:%f\n",x*y);break;/***************found******************/case '/':printf("结果为:%f\n",x\y);break;}}3、程序设计题。

实验4 选择结构程序设计

实验4 选择结构程序设计

实验四 选择结构程序设计(4学时)实验前必须做的操作.........——..新建文件夹:......首先在各自对应的计算机ncre(k:)盘上对应座位号文件夹内新建一个文件夹,文件夹的名字为“班级+学号的后两位+姓名”,如座位号为K02,航海1111班、学号后两位是02的、姓名为“张强”的同学,则其对应的文件夹名字是:航海111102张强。

然后在刚才建好的文件夹里面再建立一个文件夹,文件夹为“实验4”。

【实验目的】1、 理解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。

2、 进一步巩固printf()和scanf()函数的使用方法。

3、 学会正确使用关系运算符和关系表达式、逻辑运算符和逻辑表达式。

4、 掌握if 语句三种形式的用法。

5、 掌握switch 、break 语句的用法。

6、 熟悉选择结构程序段中语句的执行过程。

7、 学会设计分支结构的程序,结合程序掌握一些基本的算法。

8、 巩固利用VC++对C 程序的查错方法,进一步提高修改程序错误的能力。

9、 学习跟踪调试程序,掌握简单的单步调试方法。

【实验内容】[实验任务一]:程序的跟踪调试和变量值的监视练习(可不上交、但必须操作、理解,掌握其方法) 程序跟踪调试实例4-1:程序跟踪调试和变量值的监视示例(请仔细按以下各步骤进行操作):输入x ,计算并输出下列分段函数 f(x) 的值(保留1位小数)。

(需要存盘)⎪⎩⎪⎨⎧=≠=0001)(x x x x f10.0f(10.00) = 0.1【操作步骤】:(1)输入源程序,并以error4_1.c 文件名最终保存在实验4文件夹里,然后执行“编译/Build ”—>“编译/Compile ”,出现第一个编译错误是:双击该出错信息,箭头指向else 所在行,出错信息指出在else 前缺少分号。

在y = 1 / x 后面补上分号后,重新编译,新出现的第一个出错信息(警告信息):双击该错误信息,箭头指向scanf("%f", x);所在行,出错原因是x 的前面少了&。

实验四 选择结构程序设计

实验四  选择结构程序设计

实验四 选择结构程序设计
(设计型 4学时)
一、实验目的
1.掌握逻辑表达式的正确使用方法。

2.掌握单分支、双分支和多分支条件语句结构的使用方法。

二、实验内容
1 有函数:
⎪⎩⎪⎨⎧≥-<≤-<=)
10(124)101(2
3)1(x x x x x x
y 写一个程序,输入x 值后,则输出相应y 值。

要求
用“If …ElseIf …EndIf ”和用“Select Case ”两种方法完
成该题目。

【提示】
注意区分1≤x<10和1<=x And x<10有什么不同。

2编写一个判断给定坐标在第几象限的程序,界面
如图3-1所示。

3 编写一个简易学生成绩管理系统,要求输入姓名
和成绩,点击“添加”按钮后,在文本框中追加并换行显示“姓名”、“成绩”和“合格”或
“不合格”信息,如图3-2所示。

【提示】
换行追加并且显示时,可用Text1.Text = Text1.Text & vbCrLf & (待追加并显示的字符串),同时应该将Text1的MultiLine 属性设置为True ,ScrollBars 属性设置为Both 。

进一步要求:按照≥90为“优”,≥80为“良”,≥70为“中”,≥60为“及格”,<60为“不及格”来划分并显示上述信息。

图3-1 实验3-2程序运行界面 图3-2 实验3-3程序运行界面。

实验4 编写选择结构程序

实验4 编写选择结构程序

实验4 编写选择结构程序一、实验目的1.了解C语言表示逻辑值的方法。

2.学会正确使用逻辑运算符和逻辑表达式的方法。

3.熟悉if语句和switch语句。

4.结合程序掌握一些简单的算法。

5.学习调试程序的方法。

二、实验内容本实验要求编程解决以下问题,然后上机调试运行程序。

1.编程实现:输入3个整数,要求按由小到大的顺序输出。

得到正确结果后,修改程序使之按由大到小的顺序输出。

main函数结构如下:int a,b,c,t;输入3个整数:赋给a,b,c;if(a>b) 交换a,bif(a>c) 交换a,cif(b>c) 交换b,c输出a,b,c2.给出一个百分制的成绩,要求输出成绩等级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.实验总结。

实验四 选择结构程序设计

实验四 选择结构程序设计

实验四选择结构程序设计一、实验目的1.正确使用关系表达式和逻辑表达式表达条件。

2.学习分支语句if和switch的使用方法。

3.进一步熟悉TC集成环境的使用方法,学习TC环境提供的调试工具。

二、实验内容1.调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。

写出调试过程。

main(){ int a,b,c;scanf("%d%d%d",a,b,c);if((a>b)&&(a>c))if(b<c)printf("min=%d\n",b);elseprintf("min=%d\n",c);if((a<b)&&(a<c))printf("min=%d\n",a);}程序中包含有一些错误,按下述步骤进行调试。

⑴设置观测变量。

按<Alt+B>键,屏幕弹出"Add watch"窗口,在窗口中可输入要观察的变量或表达式,此处输入a,重复以上操作并分别输入b、c,在屏幕下方的"message"窗口显示变量名a、b、c,且变量名的后面有提示,如a的后面是undefined symbol 'a',这是因为程序没有运行,变量没有登记,所以TC环境不知道a是什么。

⑵单步执行程序。

按<F8>键,屏幕上半部"Edit"窗口中的程序第一行程序的文字背景色变为兰色,表示此语句将被执行。

连续按<F8>键,兰色条一句句下移。

⑶通过单步执行发现程序中的错误。

当单步执行到scanf()函数一句时,屏幕自动切换到DOS窗口,等待用户的输入,假定我们输入"1 2 3",变量a、b、c接受后应在屏幕信息窗口显示出来,但是此时我们看到的却不是我们输入的数据。

这时我们就要检查程序。

实验4 挑选结构程序设计实验报告

实验4 挑选结构程序设计实验报告
(2)使用 switch 语句程序如下: #include<stdio.h> void main() {
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,通系电1,力过根保管据护线生高0不产中仅工资2艺料22高试2可中卷以资配解料置决试技吊卷术顶要是层求指配,机置对组不电在规气进范设行高备继中进电资行保料空护试载高卷与中问带资题负料2荷试2,下卷而高总且中体可资配保料置障试时2卷,32调需3各控要类试在管验最路;大习对限题设度到备内位进来。行确在调保管整机路使组敷其高设在中过正资程常料1工试中况卷,下安要与全加过,强度并看工且25作尽52下可22都能护可地1关以缩于正小管常故路工障高作高中;中资对资料于料试继试卷电卷连保破接护坏管进范口行围处整,理核或高对者中定对资值某料,些试审异卷核常弯与高扁校中度对资固图料定纸试盒,卷位编工置写况.复进保杂行护设自层备动防与处腐装理跨置,接高尤地中其线资要弯料避曲试免半卷错径调误标试高方中等案资,,料要编试求5写、卷技重电保术要气护交设设装底备备置。4高调、动管中试电作线资高气,敷料中课并设3试资件且、技卷料中拒管术试试调绝路中验卷试动敷包方技作设含案术,技线以来术槽及避、系免管统不架启必等动要多方高项案中方;资式对料,整试为套卷解启突决动然高过停中程机语中。文高因电中此气资,课料电件试力中卷高管电中壁气资薄设料、备试接进卷口行保不调护严试装等工置问作调题并试,且技合进术理行,利过要用关求管运电线行力敷高保设中护技资装术料置。试做线卷到缆技准敷术确设指灵原导活则。。:对对在于于分调差线试动盒过保处程护,中装当高置不中高同资中电料资压试料回卷试路技卷交术调叉问试时题技,,术应作是采为指用调发金试电属人机隔员一板,变进需压行要器隔在组开事在处前发理掌生;握内同图部一纸故线资障槽料时内、,设需强备要电制进回造行路厂外须家部同出电时具源切高高断中中习资资题料料电试试源卷卷,试切线验除缆报从敷告而设与采完相用毕关高,技中要术资进资料行料试检,卷查并主和且要检了保测解护处现装理场置。设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

实验4 选择结构程序设计

实验4  选择结构程序设计

实验4 选择结构程序设计1.实验目的(1)熟练掌握if语句的三种形式,在实际中能根据具体情况灵活选择某种形式的if语句(2)进一步熟悉关系表达式和逻辑表达式(3)熟练掌握switch语句的功能、格式和执行过程(4)能用switch语句实现简单的选择功能2.实验内容2.1基础知识(1)在横线上填上适当的标点符号。

该程序的功能是输出a、b中的最大值。

#include “stdio.h”void main(){ int a,b,t;scanf("%d %d",&a,&b);if___b>a_______ t=a;a=b;b=t;____ptintf("\nmax=%d",a);}(2)在横线上填上适当的标点符号。

将题(1)改写成if—else的形式:#include “stdio.h”void main(){ int a,b,t;scanf("%d %d",&a,&b);if___a>b_______ptintf("\nmax=%d",a);____ /* 思考:此处的符号是否可以省略?什么情况下不能省略?*/else____ptintf("\nmax=%d",b);____}(3)在横线上填上适当的标点符号。

switch (表达式){ case_____常量表达式1____ 语句1____case_____常量表达式2____ 语句2____……default____ 语句n____ }(4)对于if—else语句,如果分支较多,有时用swtich语句更加合适,swtich语句是多分支选择结构,其执行过程:首先比较___________与___________是否相等,如果相等,则执行case后面的语句,如果都不相等,则执行__________。

2.2阅读程序(1)#include “stdio.h”void main(){ int number;printf(“number=“);scanf(“%d”,&number);if (number%10==0) printf(“%d是10的倍数。

实验四 选择结构程序设计

实验四 选择结构程序设计

实验四 选择结构程序设计一、实验目的1.掌握关系、逻辑表达式的正确书写形式。

2.学习结构化程序的控制流程。

3.掌握单分支与双分支条件语句的使用。

4.掌握多分支条件语句(If … Then … ElseIf )的使用。

5.掌握Select Case 语句的使用及与多分支条件语句的区别。

6.熟悉选择结构程序设计,灵活使用各种分支语句。

7.学习掌握程序调试方法。

二、实验内容1.将实验三的“计算器3”另存为“计算器4”,按图4.7修改成“计算器4”的界面。

运行时单击“=”按钮,执行所选算术运算符按钮的运算,运算结果显示在文本框中。

编写事件过程及代码实现“计算器4”各运算符的运算功能。

(1)用If ……ElseIf ……End If 结构编写“=”按钮的事件过程及代码。

(2)用Select Case ……End Select 结构编写“=”按钮的事件过程及代码。

图4.7 实验1界面设计 图4.8 实验2界面设计 2.在文本框中输入三角形的三个边a 、b 、c ,计算三角形的面积并保留三位小数。

界面设计如图4.8所示。

三角形面积计算公式如下:P =( a + b + c )/ 2 S = )(*)(*)(*c p b p a p p ---要求:(1)用IsNumeric 函数对文本框输入的内容进行判断,若为非数字字符,显示“输入错误!重新输入”,清空该文本框,该文本框获得焦点。

(2)判断输入的三边是否能构成三角形,能构成三角形,计算三角形的面积。

否则用MsgBox 显示“不能构成三角形”的信息。

提示:对多个文本框输入数据的合法性用(LostFocus )进行判断,应防止文本框出现争夺焦点,可以在(LostFocus )事件过程中使用如下判断语句。

If Not IsNumeric(Text2) And Text2 <> "" Then3.编一模拟袖珍计算器的完整程序,运行界面如图4.9所示。

实验4 选择结构程序设计(二)

实验4 选择结构程序设计(二)

实验报告课程名称C语言程序设计实验项目实验四专业计科班级2班姓名谭宁学号13030213 指导教师实验成绩年月日实验4 选择结构程序设计(二)一、实验目的1.掌握C语言中有关逻辑运算符及逻辑表达式的使用。

2.正确使用条件控制语句(if语句、switch语句)进行选择结构程序设计。

二、实验题目及要求1、用?表达式计算四级成绩是否通过,大于425分则输出通过,否则输出不通过。

源代码:#include<stdio.h>void main(){int a;scanf("%d",&a);printf("%s",a>=425 ? "通过":"不通过");}运行结果截屏:2、用?表达式对输入的一个字母进行判断,如果是大写则转换为小写,如果是小写则转换为大写输出。

源代码:#include<stdio.h> int main(void) { char ch; scanf("%c",&ch); printf("%c",ch>='a'&&ch<='z' ? ch-32 : ch+32);return 0; } 运行结果截屏:3、从键盘上输入x 的值,按下式计算y 的值。

(要求用两种if 结构实现,一种是串行if 结构,无论什么数都必须比较三次;一种是多分枝if 结构,可以减少比较次数)x<12 1 1x<10311 x 10x y x x ⎧⎪=-≤⎨⎪-≥⎩源代码:#include"stdio.h" int main(void) {double x,y;printf("qingshuruyigeshu\n"); scanf("%lf",&x); if(x<1) y=x;if(x>=1 && x<=10) y=2*x-1; if (x>=10) y=3*x-11; printf("y=%lf\n",y); return 0; } 运行结果截屏:4、编写程序,给出一个百分制成绩,要求输出相应的等级A、B、C、D、E。

MATLAB实验四 选择结构和循环结构程序设计

MATLAB实验四 选择结构和循环结构程序设计

实验四 选择结构和循环结构程序设计实验目的:1.掌握建立和执行M 文件的方法 2.掌握利用if 语句实现选择结构的方法 3.掌握利用switch 语句实现多分支选择结构的方法 4.掌握利用for 语句实现循环结构的方法 5.掌握利用while 语句实现循环结构的方法 6. 熟悉利用向量运算来代替循环操作的方法实验内容:1. 求分段函数的值。

3及2其它,1x 且50,653且0,6222≠⎪⎩⎪⎨⎧--≠<≤+--≠<-+=x x x x x x x x x x y用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。

x=input('请输入x 的值:x=');if(x<0&x~=-3)y=x.*x+x-6elseif(x>=0&x<5&x~=2&x~=3)y=x.*x-5.*x+6elsey=x.*x-x-1end请输入x 的值:x=[-5.0 -3.0 1.0 2.0 2.5 3.0 5.0]y =29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.00002. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。

要求:a) 分别用if 语句和switch 语句实现。

If 语句x=input('请输入分数:')if(x<=100&x>=90)disp('A')elseif(x>=80&x<=89)disp('B')elseif(x>=70&x<=79)disp('C')elseif(x>=60&x<=69)disp('D')elseif(x<60)disp('E')end请输入分数:95x =95Aswitch语句c=input('请输入分数:')switch ccase num2cell(90:100)disp('A')case num2cell(80:89)disp('B')case num2cell(70:79)disp('C')case num2cell(60:69)disp('D')case num2cell(0:59)disp('E')end请输入分数:83c =83Bb)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

实验报告4

实验报告4

实验报告课程名称:高级语言程序设计实验四:选择结构程序设计班级:学生姓名:学号:专业:指导教师:学期:2011-2012学年上学期云南大学信息学院一、 实验目的1、掌握关系运算和逻辑运算2、掌握选择结构相关语句的使用3、训练所学知识的综合应用二、 知识要点1、关系运算及运算符2、逻辑运算及运算符3、选择结构相关语句if 、if-else 、if 嵌套、switch 等的意义、语法格式及使用4、容易混淆的“==”与“=”运算符三、 实验预习(要求做实验前完成)1、写出6种比较运算符:2、写出3种逻辑运算符:3、“a 和b 都是正数”的逻辑表达式是:4、“a 比b 大,或者c 比b 大” 的逻辑表达式是:5、“a 等于b ,但是c 不等于d ” 的逻辑表达式是:6、“y 大于等于x1且小于等于x2” 的逻辑表达式是:7、“x 不等于0” 的逻辑表达式是:四、 实验内容 (要求提供:① 算法描述或流程图 ② 源程序 )1、编程序,计算下面分段函数的值(if-else )⎪⎩⎪⎨⎧≥-<≤+<+=)15(102)150(53)0(10x x x x x x y2、编写程序,输入一个小写英文字母,如果它位于字母表的前半部分,输出它的后一个字母;位于后半部分时输出它的前一个字母(if-else )。

3、输入某学生的考试成绩等级A 、B 、C 、D (或a 、b 、c 、d ),要求按照等级输出对应的分数段。

A 级对应的分数段为85~100分;B 级对应分数段为70~84;C 级对应分数段为60~69;D 级对应分数段位60分以下(switch )。

4、输入某学生的考试成绩,如果在90分以上,输出“A ”;80~89分输出“B ”;70~79分输出“C ”;60~69分输出“D ”;60分以下则输出“E ”(if-else 或swiitch )。

五、实验结果(要求写出运行界面及输出的运行结果)六、实验小结。

实验4 选择结构程序设计(1)

实验4 选择结构程序设计(1)

实验四选择结构程序设计(1)一、实验目的和要求1. 理解C语言的逻辑量2.掌握关系运算符和关系表达式的应用3. 掌握逻辑运算符和逻辑表达式的使用4.掌握if语句构成的选择结构5.掌握选择结构程序设计的方法二、实验环境(实验设备)硬件: 微型计算机软件: Microsoft Visual C++6.0三、实验过程新建一个文件夹,命名为:学号后两位+姓名(如05王魏)。

将以下运行正确的程序文件保存到该文件夹中(只保存.C文件),并上交文件夹到作业区自己班级的实验4文件夹中。

将实验题目3\4\5写在实验报告本上,参照作业区中的实验报告样板。

一定要写实验小结,可以写出实验中的收获和不懂的问题。

实验题目1:阅读程序,分析程序中各语句的作用及程序的执行结果,并上机运行验证结果。

问题:将if (a<b) {t=a;a=b;b=t;}中的花括号去掉后,程序的功能改变了吗?为什么?实验题目2:阅读并分析程序,记录程序的执行结果,并上机运行验证结果。

问题1:用一句话简述程序功能.问题2:模仿程序中的相关语句,请写出表示a为数字字符的表达式。

实验题目3:数学中有许多有趣的数,如水仙花数、完数等。

水仙花数是一个三位数,其各位数字的立方和恰等于这个数。

例如153,13+53+33=153。

编写程序,从键盘上输入一个三位的整数,判断其是否为水仙花数。

实验题目4:编写程序,判断从键盘上输入的一个整数是否为闰年年份,是则输出“yes”,否则输出“no” 。

实验题目5:日常生活中有许多问题可以用分段函数表示,例如邮局邮资付费等。

编写程序,求解以下数学分段函数。

实验题目6:编写程序,用假设思想(打擂台算法)求出三个数中的最大数。

提示:使用单分支if语句。

拓展题目1:现有三人,要求按年龄从大到小(也叫降序)排列。

程序代码如下,请将程序补充完整并上机调试。

#include <stdio.h>void main( ){ int a,b,c,t;printf(“请输入三个人的年龄:a b c:\n”);scanf("%d%d%d",&a,&b,&c);if (a<b) {t=a;a=b;b=t;}①;②;printf("%d,%d,%d ",a,b,c);}拓展题目2:应用if-else-if多分支选择语句编写程序,判断学生成绩等级。

实验四选择结构程序设计

实验四选择结构程序设计

实验四选择结构程序设计程序设计基础(C)实验报告系别:化学班级:14级化⼯⼀班学号:1459105028 姓名:王萍实验时间:2015.04.07 实验地点:机房1实验环境:visual c++6.0实验名称:实验四选择结构程序设计实验⽬的:1.熟练掌握if语句2.掌握switch语句3.学会使⽤选择结构解决实际问题实验内容:实验题⽬:1.有3个整数a,b,c,由键盘输⼊,输出其中最⼤整数。

程序代码:#include 编译预处理int main ()主函数{int a, b, c;定义变量printf("请输⼊三个任意整数:\n"); 提⽰语句scanf("%d%d%d", &a, &b, &c); 输⼊函数if(b > a)if条件语句{ a = b;赋值if(a < c) if条件语句a = c; } 赋值else{ if(a < c)a = c; }printf("最⼤的整数是:%d\n", a); 输出函数return 0;返回值}出错调试:缺少max,(写清楚⾃⼰在调试过程中遇到错误,如何改正的。

注意这是重要的评分依据!)运⾏结果:(写明⾃⼰在运⾏程序时⽤到的实验数据(⾄少3组),以及相应的运⾏结果。

)实验题⽬:2.编写程序输⼊⼀整数,将其值按⼩于10,10~99,100~999,1000以上分类显⽰。

例如:输⼊782时,显⽰782是100~999之间的数。

程序代码:#include 编译预处理int main()主函数{int x;定义变量xprintf("请输⼊⼀个整数:");输⼊提⽰scanf("%d",&x);输⼊xif(x<10)printf("%d⼩于10");else if(10<=x&&x<=99)printf("%d在10~99");else if(10<=x&&x<=999)printf("%d在100~999");else if(x>=1000)printf("%d1000以上");}出错调试:system("pause")定义不明确(写清楚⾃⼰在调试过程中遇到错误,如何改正的。

c语言实验四选择结构程序设计

c语言实验四选择结构程序设计

c语言实验四选择结构程序设计实验四:选择结构程序设计选择结构是C语言中的一种基本控制结构,用于根据条件的真假来选择执行不同的代码块。

本篇文章将介绍C语言中选择结构的概念、语法和常见的应用场景。

一、概述选择结构是一种基于条件判断的控制结构,根据条件的真假来选择执行不同的代码块。

C语言中的选择结构主要有if语句、if-else语句和switch语句。

二、if语句if语句是最简单的选择结构,它的语法格式如下:```cif (条件) {// 条件为真时执行的代码块}```其中,条件是一个表达式,如果条件为真,则执行if语句后面的代码块。

如果条件为假,则跳过if语句后面的代码块。

if语句还可以和else语句一起使用,形成if-else语句。

if-else语句的语法格式如下:```cif (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}```如果条件为真,则执行if语句后面的代码块;如果条件为假,则执行else语句后面的代码块。

三、switch语句switch语句用于根据表达式的值选择执行不同的代码块。

它的语法格式如下:```cswitch (表达式) {case 值1:// 表达式的值等于值1时执行的代码块break;case 值2:// 表达式的值等于值2时执行的代码块break;// ...default:// 表达式的值都不等于上述值时执行的代码块break;}```switch语句中的表达式的值会依次与每个case后面的值进行比较,如果相等,则执行对应的代码块。

如果所有的case都不匹配,则执行default后面的代码块。

四、应用场景选择结构在程序设计中有着广泛的应用场景,以下是一些常见的例子:1. 根据用户的输入选择不同的操作:比如在一个菜单程序中,根据用户输入的选项执行相应的操作。

2. 根据条件判断执行不同的计算:比如在一个学生成绩管理系统中,根据不同的分数段给出不同的评价。

实验4选择结构程序设计

实验4选择结构程序设计

实验4:选择结构程序设计实验名称:选择结构结构程序设计成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握关系运算符、逻辑运算符及其表达式的正确使用。

2、掌握if语句和switch语句的使用。

3、了解程序调试的基本方法。

二、实验环境安装了Visual C++ 6.0的计算机系统三、实验内容(或实验任务)在Visual C++ 6.0下完成程序题:1、从键盘输入一个整数,如果该数是奇数,则输出“您输入的是一个奇数!”;否则,输出“您输入的是一个偶数!”。

程序正确编写后,参照实验1内容2中介绍的单步调试的方法,对本程序进行单步调试,仔细观察程序的执行过程,理解二分支的程序结构。

提示:这是一个典型的二分支结构,用if…else语句实现。

2、新建设一个工程,名字为4_2,在工程中创建一个文件,名为myerror1.c。

在文件中输入以下内容,并进行编译,尝试解释编译后显示的结果信息,找到出错的原因,并记录在下面。

void main(){int x, flag;scanf("%d", &x );if(x>0)flag=1;printf("这是一个正数\n");elseflag=0;printf("这不是一个正数\n");}请记录出错信息与出错原因。

3、从键盘输入一个表示年份的数值(十进制数),判断其是否为闰年(闰年的条件是:能被4整除但不能被100整除,或者能被400整除)提示:(1)定义变量(2)从键盘输入年份(3)如果该年份是闰年输出“这是一个闰年”否则输出“这不是一个闰年”4、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

3x+5,x>0y= 0,x=02x-1,x<05、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

|x|,x<0y= x2,0≤x<10logx,x≥106、编写一个简易的计算器程序,在屏幕上输出如图4-1所示字符界面菜单,由用户从键盘输入“+”、“-”、“*”、“/”4种字符之一。

实验4 选择结构程序设计

实验4 选择结构程序设计

实验4 选择结构程序设计一、实验目的:1、掌握if语句的用法,能够根据要求熟练使用单分支、双分支、多分支(嵌套)结构;2、掌握switch语句的格式、功能及注意事项;3、、熟悉条件运算符和条件表达式的基本用法;4、初步学习随机函数rand()的使用。

二、实验内容1、(基础题)编写一个程序:输入一个正整数,判断其是奇数还是偶数。

运行界面如下所示:(提示:判断奇偶性是指能否被2整除,可考虑用%运算符取余数)2、(基础题以下程序的功能是:输入学生四门课程的成绩,然后根据要求构建相应的逻辑表达式,之后计算这些表达式的值并输出。

请根据程序相关提示填写所缺代码,再运行该程序予以验证。

#include<stdio.h>int main(){double s1,s2,s3,s4;printf("请输入学生的4门课程成绩:");scanf("_______________________",_____________________);printf("\ns1=%f, s2=%f, s3=%f, s4=%f\n\n",s1,s2,s3,s4);printf("四门课程的平均成绩大于等于80? %s\n\n",___________________?"是":"否");printf("四门课程中每门的成绩均大于等于80? %s\n\n",_________________?"是":"否");printf("四门课程中至少有两门的成绩大于等于80? %s\n\n",___________?"是":"否");return 0;}程序运行界面如下图所示:3、对于下列函数:编写程序,要求输入x的值,输出y值。

实验4:选择结构程序设计

实验4:选择结构程序设计

实验4:选择结构程序设计实验名称:选择结构结构程序设计成绩:实验日期:年月日实验报告日期:年月日一、实验目的1、掌握关系运算符、逻辑运算符及其表达式的正确使用。

2、掌握if语句和switch语句的使用。

3、了解程序调试的基本方法。

二、实验环境安装了Visual C++ 6.0的计算机系统三、实验内容(或实验任务)在Visual C++ 6.0下完成程序题:1、从键盘输入一个整数,如果该数是奇数,则输出“您输入的是一个奇数!”;否则,输出“您输入的是一个偶数!”。

程序正确编写后,参照实验1内容2中介绍的单步调试的方法,对本程序进行单步调试,仔细观察程序的执行过程,理解二分支的程序结构。

提示:这是一个典型的二分支结构,用if…else语句实现。

2、新建设一个工程,名字为4_2,在工程中创建一个文件,名为myerror1.c。

在文件中输入以下内容,并进行编译,尝试解释编译后显示的结果信息,找到出错的原因,并记录在下面。

void main(){int x, flag;scanf("%d", &x );if(x>0)flag=1;printf("这是一个正数\n");elseflag=0;printf("这不是一个正数\n");}请记录出错信息与出错原因。

3、从键盘输入一个表示年份的数值(十进制数),判断其是否为闰年(闰年的条件是:能被4整除但不能被100整除,或者能被400整除)提示:(1)定义变量(2)从键盘输入年份(3)如果该年份是闰年输出“这是一个闰年”否则输出“这不是一个闰年”4、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

3x+5,x>0y= 0,x=02x-1,x<05、编写程序,求解如下所示的分段函数。

从键盘输入一个x,求解y并在屏幕上输出结果。

|x|,x<0y= x2,0≤x<10logx,x≥106、编写一个简易的计算器程序,在屏幕上输出如图4-1所示字符界面菜单,由用户从键盘输入“+”、“-”、“*”、“/”4种字符之一。

实验4 选择结构程序设计(实验指导书)

实验4 选择结构程序设计(实验指导书)

实验4 选择结构程序设计1、实验目的(1)了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真”);(2)学会正确使用逻辑运算符和逻辑表达式;(3)熟练掌握if 语句的使用(包括if 语句的嵌套);(4)熟练掌握多分支选择语句——switch 语句;(5)结合程序掌握一些简单的算法;(6)进一步学习调试程序的方法。

2、实验内容和步骤本实验要求事先编好....解决下面问题的程序,然后上机输入程序并调试运行程序。

(1)(教材P .112第4章习题第6题)有一个函数:编写程序,输入x 的值,输出y 相应的值。

要求:用scanf 函数输入x 的值,求y 相应的值。

运行程序,输入x 的值(分别为101011≥<≤<x x x、、这3种情况),检查输出的y 值是否正确。

(2)(教材P.112第4章习题第5题)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。

要求在输入数据后先对其进行检查是否小于1000的正数。

若不是,则要求重新输入。

(3)(教材P.113第4章习题第8题) 给出一个百分制成绩,要求输出成绩等级为A,B,C,D,E 。

90分以上为A ,81~89分为B ,70~79分为C ,60~69分为D ,60分以下为E 。

① 事先编好程序,要求分别用if 语句和switch 语句来实现。

运行程序,并检查结果是否正确。

② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。

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

(4)(教材P.113第4章习题第11题)输入4个整数,要求按由小到大顺序输出。

在得到正确结果后,修改程序使之按由大到小顺序输出(提示:可参考教材P .88例4.3)。

3、撰写实验报告实验后,应整理出实验报告。

实验报告应包括以下内容:⎪⎩⎪⎨⎧≥-<≤-<=)10(113)101(12)1(x x x x x x y(1)实验目的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4 选择结构程序设计一、实验目的(1)了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。

(2)学会正确使用逻辑运算符和逻辑表达式。

(3)熟练掌握if 语句和switch 语句。

(4)结合程序掌握一些简单的算法。

(5)学习调试程序。

一、实验内容题目1 有3个整数a 、b 、c ,由键盘输入,输出其中最大的数。

方法1:main( ){int a ,b ,c ;printf("input three integer :");scanf("%d ,%d ,%d",&a ,&b ,&c);if (a<b)if (b<c) /*a 小于b 且b 小于c ,则c 最大*/printf("max =%d\n",c);else /*a 小于b 且b 大于c ,则b 最大*/printf("max =%d\n",b);else if(a<c) /*a 大于b 且a 小于c ,则c 最大*/printf("max =%d\n",c);else /*a 大于b 且a 大于c ,则a 最大*/printf("max =%d\n",a);}方法2:main( ){int a ,b ,c ,temp ,max ;printf("input three integer :");scanf("%d ,%d ,%d",&a ,&b ,&c);temp =(a>b)?a :b ; /*temp 为a 、b 中较大值*/max =(temp>c)?temp :c ; /*在temp 和c 中比较出最大值*/printf("max =%d\n",max);}运行结果:input three integer :12,34,9↙max = 34题目2 有一函数:y =⎪⎩⎪⎨⎧≥-<≤-<)10(113)101(12)1(x x x x x x,写一程序,输入x ,输出y 值。

main( ){int x ,y ;printf("input x :");scanf("%d",&x);if(x<1) /*当x <1时,求对应y 值*/{y=x;printf("x=%3d,y=x=%d\n",x,y);}else if(x<10) /*当1≤x<10时,求对应y值*/{y=2*x-1;printf("x=%3d,y=2*x-1=%d\n",x,y);}else /*当x≥10时,求对应y值*/{y=3*x-11;printf("x=%3d,y=3*x-11=%d\n",x,y);}}运行结果:input x:20↙x= 20,y=3*x-11=49题目3 给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。

90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。

main( ){float score;char grade;printf("input student score:");scanf("%f",&score);while (score>100||score<0) /*当输入错误时,提示用户并允许重新输入*/{printf("error\n.");scanf("%f",&score);}switch((int)(score/10)) /*将score/10的值转换成整型以便于判断*/{case 10:case 9: grade=’A’;break;case 8: grade=’B’;break;case 7: grade=’C’;break;case 6: grade=’D’;break;case 5:case 4:case 3:case 2:case 1:case 0: grade=’E’;}printf("score: %5.1f,grade: %c\n",score,grade);}运行结果:input student score:90.5↙score: 90.5,grade:A题目4给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。

1main( ){long int num;int indiv,ten,hundred,thousand,ten_thousand,place;printf("input 0-99999:");scanf("%ld",&num);if(num>9999)place=5;else if(num>999)place=4;else if(num>99)place=3;else if(num>9)place=2;else place=1;printf("place=%d\n",place);/*输出位数*/printf("shuzi is:");ten_thousand=num/10000;/*以下五行分别求万位、千位、百位、十位、个位数字 */thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);switch(place) /*根据位数判断应该输出哪几位数字*/{case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);/*正序输出*/printf("\ninvert is:");printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);/*逆序输出*/break;case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);printf("\ninvert is:");printf("%d%d%d%d\n",indiv,ten,hundred,thousand);break;case 3:printf("%d,%d,%d",hundred,ten,indiv);printf("\ninvert is:");printf("%d%d%d\n",indiv,ten,hundred);break;case 2:printf("%d,%d",ten,indiv);printf("\ninvert is:");printf("%d%d\n",indiv,ten);break;case 1:printf("%d",indiv);printf("\ninvert is:");printf("%d\n",indiv);break;}}运行结果:input 0-99999:98765↙place=5shuzi is:9,8,7,6,5invert is: 5678923 题目5 试编程判断输入的正整数是否既是5又是7的整数倍。

若是,则输出yes ;否则输出no 。

main( ){int x ;printf("input x :");scanf("%d",&x);if(x%5==0&&x%7==0)printf("yes");elseprintf("no");}运行情况:inupt x :35↙yes思考:if 中的条件表达式可否改成 !x%5&&!x%7 ?题目6 编制程序要求输入正整数a 和b ,若a 2+b 2大于100,则输出a 2+b 2百位以上的数字,否则输出两数之和。

main( ){int a ,b ,x ,y ;printf("input a 、b :");scanf("%d%d",&a ,&b);x =a*a +b*b ;if(x>100) /*若a 2+b 2>100*/{y =x/100; /*y 为a 2+b 2 百位以上的数字*/printf("%d",y);}else printf("%d",a +b);}运行情况:input a 、b : 10 8↙1题目7 已知银行整存整取存款不同期限的月息利率分别为:月息利率=⎪⎪⎪⎩⎪⎪⎪⎨⎧=====年期限年期限年期限年期限年期限8%84.05%75.03%69.02%66.01%63.0输入存款的本金和年限,求到期时能从银行得到的利息与本金的合计。

(利息的计算公式为:利息=本金×月息利率×12 ×存款年限。

#include "stdio.h"main( ){int year ;float money ,rate ,total ; /* money :本金 rate :月利率 total :本利合计 */printf("Enter money and year =?");scanf("%f%d",&money ,&year); /* 输入本金和存款年限 */if (year ==1) rate =0.0063; /* 根据年限确定利率 */else if(year ==2) rate =0.0066;else if(year==3) rate=0.0069;else if(year==5) rate=0.0075;else if(year==8) rate=0.0084;else rate=0.0;total=money+money*rate*12*year; /* 计算到期的本利合计 */printf("Total= %.2f\n",total);}题目8输入年份和月份,求该月有多少天。

相关文档
最新文档