五《C语言程序设计》
实验四 选择结构程序设计
一、 实验目的
1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、 实验内容与要求
1、编程,计算下列分段函数值:
      x2+3x-4,x<0x-4
f(x)=  x2-6x+5,0=x<10x1x5
x2-4x-1,其他
要求如下:
(1) if语句实现分支。自变量x与函数值均采用双精度类型。
(2) 自变量x值从键盘输入,且输入前要有提示信息。
(3) 数据的输出格式采用以下形式:
x=输入值,f(x)=计算值
(4) 分别以-3.0-1.00.51.52.53.54.55.5为自变量,运行该程序。记录结果。
(5) 源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。具体要求如下:
1)百分制与等级制的对应关系如下:
百分制
90~100
80~89
70~79
60~69
<60
等级制
及格
不及格
2)用switch语句实现该功能。
3)用键盘输入百分制成绩,输入前要有提示信息。
4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
5)输出结果中应包含百分制成绩和成绩等级。
(6) 分别输入成绩-109960857010145,运行该程序。记录结果。
(7) 源程序以sy4_2.c存盘。
三、 思考题
1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?
2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?
实验五 循环结构程序设计(1
一、实验目的
1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求
1、编程,分别利用三种循环语句,求1+2+3+50之和。要求如下:
1)输出计算结果;数据的输出格式采用以下形式:
1+2+3+50=计算值
2)源程序分别以sy5_1.csy5_2.csy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:
1)输出计算结果;在数据输出之前应有提示信息。
2)源程序sy5_4.c存盘。
三、思考题
1、实现循环结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?
实验六  循环结构程序设计(2
一、实验目的
1、进一步掌握循环结构的编程方法。
2、掌握breakcontinue语句的功能。
二、实验内容与要求
1、编程,用牛顿迭代法计算由键盘输入的自变量x的平方根。要求如下:
1)迭代公式为:y=y+x/y*0.5,计算精度要求为ε=1E-6
2)输出迭代次数和计算结果;在数据输入和输出之前应有提示信息。
3)以2357912为自变量,记录计算结果。
4)源程序sy6_1.c存盘。
2、编程,用公式π≈1-1/3+1/5-1/7+…求π的近似值,具体要求如下:
1)计算精度要求从键盘输入。
2)数据输入和输出之前应有提示信息。
3)以ε=1E-21E-31E-41E-51E-61E-7进行计算,记录计算结果。
4)源程序sy6_2.c存盘。
3、打印九九乘法表。要求如下:
1)用for循环完成该程序。
2)打印形状为直角三角形。
3)源程序sy6_3.c存盘。
三、思考题
1、如何设置循环结构中的循环条件?它在程序呈的意义何在?
实验七 数组和字符串
一、实验目的
1、掌握数组的定义、初始化和输入输出方法。
2、掌握字符数组与字符串的关系。
3、掌握字符串函数的使用。
4、加深对数组的理解,培养解决实际问题的能力。
二、实验内容与要求
1、编写一个单科学生成绩处理程序,具体要求如下:
1)学生个数定义成符号常量。
2)学生成绩定义成一维数组进行处理,并由键盘逐个输入。
3)要求统计出平均成绩、各个等级的人数及百分比。
4)数据输入输出要有提示信息;源程序以sy7_1.c存盘。
5)以学生个数为16,学生成绩分别为:75899263857182655291877884688380调试程序,记录运行结果。
2、修改sy7_1.c,变成多科成绩处理程序,具体要求如下:
1)学生数和科目数均定义成符号常量。
2)学生成绩定义成二维数组进行处理,并由键盘按单科成绩逐个输入。
3)要求能统计出单科平均分、个人平均分、单科成绩等级百分比和个人名次。
4)数据以二维表格形式输出,输出内容有表头(提示信息)、表体(学号、单科成绩、个人平均、名次)和表尾(单科平均、等级百分比)。
5)源程序以sy7_2.c存盘。
3、编程,统计从键盘输入的100个字符中英文字母(不区分大小写)、数字(0~9)、常用标点符号(,;”)和其他符号的个数及其百分比。具体要求如下:
1)利用一维数组进行数据处理。
2)输入一段文字,进行检验,并记录其结果。
3)源程序以sy7_3.c存盘。
三、思考题
1、对各题运行结果进行分析。如果程序未能调试通过,应分析出原因。
2、总结各题的编程思路,谈谈本次实验的收获与经验。
实验八 指针
一、实验目的
1、掌握指针的概念以及定义方法,掌握地址、指针和指针变量之间的区别与联系。
2、掌握指针变量与数组的关系,掌握如何使用指针来处理与数组相关的问题。
3、掌握如何使用指针来处理与字符串有关的问题。
二、实验内容与要求
1、编程,有n个整数存放在一维数组中,求这些数中最小的数和它的下标,然后将它与数组最前面的元素交换位置。具体要求如下:
1n的值以及一维整数数组从键盘输入。
2)对题目中的要求,采用指针方法处理。
3)源程序以sy8_1.c存盘。
2、编程,采用指针方法处理,具体要求如下:
1)用户从键盘34列的float型数组输入数据。
2)求每行中4个元素的平均值。
3)求每列中3个元素的平均值。
4)求数组全部元素的平均值。
5)求全部元素中的最大元素。
6)源程序以sy8_2.c存盘。
3、编程,“回文”是一种顺序读和反序读都一样的字符串,例如:“121”,“abcba”,“ABCCBA”编写程序,判断任一字符串是否为回文。采用指针方法处理,具体要求如下:
1)要判断的字符串从键盘上输入。
2)经过程序判断是“回文”的请输出提示“YES”,否则输出提示“NO”。
3)源程序以sy8_3.c存盘。
三、思考题
1、谈谈实验后对指针的理解。
2、对各题运行结果进行分析。如果程序未能调试通过,应分析出原因。
3、总结各题的编程思路,谈谈本次实验的收获与经验。
实验九 函数
一、实验目的
1、掌握C语言函数的定义和调用的形式及规则。
2、掌握实参与形参的对应关系,“值传递”与“地址传递”的方式与区别。
3、掌握函数的嵌套调用和递归调用的设计方法。
4、掌握各种变量的存储属性及其区别。
二、实验内容与要求
1、编程,在屏幕上重复打印指定的字符n次。具体要求如下:
1)打印操作定义成函数printchar()。
2)重复打印次数和指定字符在主函数中键盘输入。
3)源程序以sy9_1.c存盘。
2、修改sy7_2.c源程序,具体要求如下:
1)将计算单科平均、个人平均成绩分别定义成函数,由主程序调用。
2)用数组名作为函数的参数,实现参数的“地址传递”。
3)修改后的源程序以sy9_2.c存盘。
3、编程,求n!的值,具体要求如下:
1)求值过程采用递归算法,并定义成函数fac(),供主函数调用。
2n的值在主函数中从键盘输入,调用fac(),并将计算结果输出。
3)源程序以sy9_3.c存盘。
4、计算如下数学函数Hxy)的的值,具体要求如下:
1Hxy=sinx+y/cosx-y*cosx+y/sin递归函数c语言规则x-y
2)编写一通用函数,其功能是求Fxy=f1x+y/f2x-y)。
3)编写主函数,调用Fxy)函数,计算Hxy)函数的值。
4)自变量xy由键盘输入,分别以(1.57080.7854)、(0.78540.5236)、(0.34911.4072)、(1.40720.6283)为自变量计算并记录其结果。
5)源程序以sy9_4.c存盘。
三、思考题
1、对各题运行结果进行分析。如果程序未能调试通过,应分析出原因。
2、总结各题的编程思路,谈谈本次实验的收获与经验。
实验十 结构体和链表
一、实验目的
1、掌握结构体变量的定义和引用方式。
2、掌握结构变量与指向结构的指针作为函数参数实现函数的调用。
3、加深了解链表的概念,学会对链表进行操作。
二、实验内容与要求
1、有5个学生,包括学生学号、姓名和3门课程成绩,编程要求如下:
1)能输出总分最高和最低学生的姓名。
2)能计算每个学生的总成绩、平均分,并输出。
3)源程序以sy10_1.c存盘。
4)以下表为原始数据,进行调试运行,记录其结果。
Num
Name
Subject 1
Subject 2
Subject 3
97160101
Yang HongXia
90
92
96
97160102
Jian BingHua
73
54
80
97160103
Fan ZhiWei
85
79
88
97160104
Lu ShongChi
88
85
92
97160105
Ling XiaoMiao
76
62
70
2、建立一通讯录,具体要求如下:
1)建立如下通讯录结构:name[20](姓名),sex(性别),birthday(出生日期),address[20](联系地址),telephone[20](),其中birthday本身为一结构,由yearmonthday三个成员组成。
2)所有相关数据直接由主函数进行初始化。
3)编写一函数,完成通讯录按姓名进行的排序(升序)操作。
4)主函数调用排序函数,能输出指定姓名的相关数据。
5)任意给出5位同学的相关数据,调试运行。
6)源程序以sy10_2.c存盘。
3、编程,实现将正数从小到大的次序建立一个排序的链表,并输出。具体要求如下:
1)从键盘输入任意个正数,以负数结束输入。
2)源程序以sy10_3.c存盘。
三、思考题
1、对各题运行结果进行分析。如果程序未能调试通过,应分析出原因。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。