程序设计语言实验指导书已修改Word格式文档下载.docx
- 文档编号:21676565
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:54.45KB
程序设计语言实验指导书已修改Word格式文档下载.docx
《程序设计语言实验指导书已修改Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《程序设计语言实验指导书已修改Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
1.12.23.34.45.5
总电阻R=0.89欧姆
实验二分支结构程序设计
1.掌握逻辑表达式的使用方法。
2.掌握if和switch语句的使用方法。
3.掌握一些简单的算法。
1.有下列函数,写一段程序,输入x的值,输出y的值
x(x<
1)
y=2x-1(1<
=x<
10)
3x-11(x>
=10)
X=40
Y=109
X=10
Y=19
X=5
Y=9
X=1
Y=1
X=-3
Y=-3
2.输入一个不超过6位的正整数,输出该数的最高位和最低位,如果该数是一位数,则输出该数。
然后再输出该数是几位数。
程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。
X=1234567
Error
N>
6
X=-2
X<
X=2
2
N=1
X=123
1,3
N=3
3.输入一个0到100的百分制成绩,转换成五级制A、B、C、D和E。
程序中首先需要对输入的数进行合法性检查,对小于0和大于100的数要有提示,然后转换部分使用switch语句实现。
分数=120
分数大于100,非法!
分数=-5
分数小于0,非法!
分数=85
等级=B
实验三循环结构程序设计一
1.掌握循环结构的使用方法。
2.掌握while和for语句的使用方法。
3.掌握程序单步调试的方法。
4.掌握一些简单的算法。
1.公式的计算
x=N!
2.输入最多10个整数,找出最大值、最小值,并计算平均值。
N=5
n1=1
n2=3
n3=5
n4=7
n5=9
Max=9
Min=1
Avg=5
3.输入一个不超过6位的正整数,分别输出该数的每一位,并用逗号分隔,如果该数是一位数,则输出该数。
1,2,3
实验四
(1)循环结构程序设计二
1.掌握单重循环和多重循环结构的使用方法。
2.掌握程序单步调试的方法。
1.输入N,计算公式
的值。
N=5
sum=(1+2)+(2+3)
+(3+4)+(4+5)
+(5+6)
=35
2.输入一个正整数n(1≤n≤200),输出所有的整数对,其相乘的积等于n。
N=300
N=20
1*20=20
2*10=20
4*5=20
N=0
3.编程打印数字金字塔。
......1
.....121
....12321
...1234321
..123454321
N=3
....1
...121
..12321
实验四
(2)循环结构程序设计三
的值,其中N>
0。
N=4
sum=1
+2+3
+3+4+5
+4+5+6+7
=40
2.每个大于1的数的立方都可以表示成一连续奇数之和,试证实2到10的数都满足这样的规律。
2(3)=83+5=8
3(3)=277+9+11=27
4(3)=641+3+5+7+9+11+13+15=64
5(3)=12521+23+25+27+29=125
3.用牛顿迭代法求方程在下面方程在1.5附近的根:
不做!
!
4.
xn=1.5
x=nnn.nnn
y=f(nnn.nnn)=nnn
实验五数组
1.掌握一维数组和二维数组的定义、赋值和输入输出的使用方法。
2.掌握与数组有关的算法。
1.输入n及n个整数(n<
20),然后按奇数升序、偶数降序排列输出。
N=6
n1=1
n2=90
n3=85
n4=2
n5=10
n6=18
odd=185
Even=9018102
2.输入一个日期,计算该天是该年的第几天。
Year=2007
Month=1
Day=15
Thedayis15thdayofYear2007.
3.依次输入某个班级n个学生的数学、物理和化学课程的成绩,计算平均成绩后输出成绩列表,同时还要输出每个学生的平均成绩是否高于班级的平均成绩。
S1=608090
S2=707887
S3=956689
S4=678990
NoMATPHYCHMAVGY/N
160809077
270788778
395668983Y
467899082Y
实验六数组和字符串
1.掌握一维数组、二维数组和字符数组的定义、赋值和输入输出的使用方法。
1.输入S1和S2两个字符串,将长的字符串拼接在短的字符串后面并输出,如果长度相等,S1接在S2后面。
假设两个字符串的长度相加不超过80。
(不能使用strcat等函数)
S1=abcdef
S2=1234
LengthofS1=6
LengthofS2=4
S2+S1=1234abcdef
S1=abc
S2=123456
LengthofS1=3
LengthofS2=6
S1+S2=abc123456
2.输入两个日期,计算两日期的天数差,并显示两日期的顺序。
假设两个日期在同一年份。
(思考:
任意给两个日期,求天数差。
)(需要考虑两个日期不再同一年份,但不考虑1700、1800等不是闰年的年份)
Date1:
2007215
Date2:
2007115
DaysbetweenDate1andDate2is31.
AndDate1>
Date2.
3.依次输入某个班级n个学生的姓名、数学、物理和化学课程的成绩,在输入姓名时直接回车表示输入结束,计算平均成绩后按姓名的字典顺序输出成绩列表,同时还要输出每个学生的平均成绩是否高于班级的平均成绩。
(注意:
输出时,姓名的首字母大写。
)
S1Name=wang
Score=608090
S2=ZHANG
Score=707887
S3=Li
Score=956689
S4=yANG
Score=678990
S5=
NoNameMATPHYCHMAVGY/N
3
Li
95668983Y
1
Wang
60809077
4
Yang
67899082Y
2
Zhang
70788778
实验七函数
1.掌握函数定义的方法。
2.掌握函数调用、实参和形参的传递方法。
3.掌握变量作用域和变量类型的使用方法。
1.从键盘输入数行数据,每行三个正整数n1、n2和n3,三个0表示输入结束。
每输入完一行,输出n1和n2之间(包括n1和n2)能被n3整除的数的个数。
要求用一个函数实现统计整除数个数的功能,其首部为:
intaliquot(intn1,intn2,intn3)
123
2102
5
000
2.求组合数。
计算
其中计算C(m,n)的函数首部为:
intcmn(intm,intn)
计算阶乘的函数首部为:
intfac(intn)
并用cmn函数打印杨辉三角形。
3.从键盘输入最多50个整数,0表示结束。
将该批数据存入一个数组中,然后调用ReverseAndCount函数将数据在数组中的存放次序颠倒并统计出大于平均数的个数,输出结果。
ReverseAndCount函数的功能为颠倒数据存放的次序和统计大于平均数的个数,其首部为:
intReverseAndCount(intn,ints[])
如果为了程序的结构,你还可以添加其他的子程序。
如,可以编写计算数组中数据的平均值的函数,还可将ReverseAndCount函数分成两个子程序实现等。
123450
5numbersinputted.
Reverse:
54321
Count:
2
实验八函数
1.掌握函数调用、实参和形参的传递方法。
2.掌握变量作用域和变量类型的使用方法。
3.掌握递归子程序的编写和使用方法。
1.从键盘输入数行数据,每行最多20个正整数,每行最后用0表示行结束。
一个以0开始的行表示输入结束。
每输入完一行,输出该行数据的个数、平均值和有几个数据大于该行的平均值。
用一个函数实现数据输入的功能,其首部为:
intinput(ints[])
input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。
用一个函数实现求平均值的功能,首部为:
intAverage(intn,ints[])
Average的参数是n个数的数组,函数返回值为平均值。
用一个函数实现统计大于平均值的数据个数,首部为:
intCount(intavg,intn,ints[])
532
111213140
4122
2.组合问题,由组合的基本性质可知:
(1)C(m,n)=C(n-m,n)
(2)C(m,n+1)=C(m,n)+C(m-1,n)
公式
(2)是一个递归公式,一直到满足C(1,n)=n为止。
当n<
2*m时,可先用公式
(1)进行简化。
使用递归求C(m,n)。
3.用递归实现将输入小于32768的正整数按逆序输出。
实验九指针
1.掌握指针的概念、定义指针和使用指针的方法。
2.掌握和理解指针和数组的关系和使用方法。
3.掌握指针和字符串的关系和使用方法。
本次实验需要使用指针进行编程。
1.从键盘输入若干数据整数(零表示结束),统计出数据个数,以及最大值、最小值和平均值。
用一个函数实现求最大值、最小值和平均值的功能,首部为:
voidstatistics(intn,ints[],int*max,int*min,float*avg)
Max=5
Avg=3.000
2.编写函数,通过指针一个将字符串反向。
函数首部为:
voidReverseString(char*s)
abcABC123
321CBAcba
3.编写一个Insert(插入)函数,将一个字符串插入另一个字符串中指定位置。
intInsert(char*dest,char*src,intpos)
函数的返回值为插入后的字符串长度。
dest:
abcdefg
src:
12345
pos:
3
output:
abc{12345}defg:
14
实验十结构体
1.掌握结构体类型变量的定义和使用。
2.掌握结构体类型数组的概念和使用方法。
3.掌握链表的概念和初步的使用方法。
1.
structCIRCLE{
floatr;
structPOINTcenter;
};
structPOINT{
floatx;
floaty;
现有如下定义一个点和圆的结构体:
用一个函数来实现判断某个圆是否包含坐标原点,其首部为:
intHavingOrigin(structCIRCLEc)
X:
10.2
Y:
3.3
R:
5.0
NotHavingOrigin.
返回1表示包含,0表示不包含。
主程序输入圆的参数,然后调用函数判断,并输出判断结果。
1.2
HavingOrigin.
每个学生有学号、姓名、语文、数学、外语和平均成绩。
建立一个最多保存五个学生成绩的结构体类型数组。
Input函数输入学生的学号、姓名和三门课的成绩,并计算平均成绩,函数首部为:
Input(intn,structSTUDENTs[])
主程序调用Input函数输入学生成绩,然后输出学生的信息。
structTstudent{
charNo[5];
charName[20];
intChinese;
intMath;
intFL;
intAverage;
1Zhang607080
2Wang708090
3Li305080
1Zhang60708070
2Wang
70809080
3Li
30508053
2.(本题使用链表)从键盘输入若干个大于0的整数,0表示输入结束。
建立一个链表,链表节点的值为输入的数,节点次序和输入次序相同。
然后复制该链表,但次序相反,并输出。
input:
246813570
75318642
实验十一文件(本次实验内容为课本P305.6/7/8题)
1.掌握文件的定义和使用。
2.掌握文件的打开、关闭和读写等使用方法。
1.先利用Notepad在D:
\MyDoc目录中建立一个名为MyNew.txt的文本文件,在其中任意输入数行内容,然后编写一个C语言程序,读出MyNew.txt文件的内容并在屏幕上显示。
2.编写C语言程序,在D:
\MyDoc目录中建立一个名为MyText.txt的文本文件,在其中写入两行内容,你的学号和你的姓名。
在程序正确运行后,利用Notepad打开该文件查看结果。
3.编写文件复制程序。
并用Notepad查看复制结果。
如果文件打开错误等要进行提示。
SourceFile:
d:
\mydoc\mynew.txt
DestFile:
\mydoc\myagain.txt
Filed:
\mydoc\mynew.txt=>
d:
\mydoc\myagain.txtcopied.
实验十二综合(实验不做)
实验目的
1.提高综合应用流程控制语句的能力;
2.提高对复杂流程结构的程序的编写能力和调试能力;
3.掌握利用数组的组织存储数据以及一些实用的算法。
4.掌握对文件的操作。
实验内容
编写和调试一个具有能对用一维数组建立的顺序表进行各种操作的应用程序。
实验步骤
1.写程序显示如下菜单
1.插入(插入一个数据)
2.删除(删除一个数据)
3.排序(排序)
4.输出(输出表中所数据)
0.退出(退出程序)
2.用输入函数输入菜单选择的数字(0-4)对其他输入要提示错误信息流程控制结构如图1所示。
3.顺序表的数据类型自选,可以先使用基本类型,在此基础上修改使用结构体类型。
4.每个功能模块要求用函数实现。
5.在菜单中增加“写入文件”和“读取文件”选项,能将顺序表中的数据写入文件和从文件读取数据。
6.(选做)使用链表来实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 实验 指导书 修改