程序设计语言实验指导书已修改.docx
- 文档编号:2038880
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:14
- 大小:120.52KB
程序设计语言实验指导书已修改.docx
《程序设计语言实验指导书已修改.docx》由会员分享,可在线阅读,更多相关《程序设计语言实验指导书已修改.docx(14页珍藏版)》请在冰豆网上搜索。
程序设计语言实验指导书已修改
《程序设计语言C》实验指导书
适用专业:
计算机科学与技术
软件工程
上海应用技术学院
2009-2-20
实验一顺序结构程序设计
实验目的:
1.掌握C语言程序结构。
2.掌握变量的定义和使用。
3.掌握输入输出函数的使用。
4.掌握赋值语句的使用。
内容:
1.从键盘输入两个数,计算两个数的和,然后输出。
A=123
B=456
SUM=A+B=123+456=579
注意:
带下划线的内容表示是从键盘输入的,实际上机时并不显示下划线,其余的内容是程序输出的。
2.从键盘输入一个华氏温度,请转换成摄氏温度后输出。
请输入一个华氏温度:
12.34
和华氏温度12.34度相对应的摄氏温度为-10.92度
3.电路图如下所示,从键盘输入5个电阻的电阻值,计算并输出总的电阻值。
请输入r1、r2、r3、r4和r5(使用空格分隔):
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)
2.输入一个不超过6位的正整数,输出该数的最高位和最低位,如果该数是一位数,则输出该数。
然后再输出该数是几位数。
程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。
3.输入一个0到100的百分制成绩,转换成五级制A、B、C、D和E。
程序中首先需要对输入的数进行合法性检查,对小于0和大于100的数要有提示,然后转换部分使用switch语句实现。
实验三循环结构程序设计一
实验目的:
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位的正整数,分别输出该数的每一位,并用逗号分隔,如果该数是一位数,则输出该数。
然后再输出该数是几位数。
程序需要对输入的数进行合法性检查,对小于0和大于6位的数要有提示。
实验四
(1)循环结构程序设计二
实验目的:
1.掌握单重循环和多重循环结构的使用方法。
2.掌握程序单步调试的方法。
3.掌握一些简单的算法。
内容:
1.输入N,计算公式的值。
N=5
sum=(1+2)+(2+3)
+(3+4)+(4+5)
+(5+6)
=35
2.输入一个正整数n(1≤n≤200),输出所有的整数对,其相乘的积等于n。
3.编程打印数字金字塔。
实验四
(2)循环结构程序设计三
实验目的:
1.掌握单重循环和多重循环结构的使用方法。
2.掌握程序单步调试的方法。
3.掌握一些简单的算法。
内容:
1.输入N,计算公式的值,其中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个学生的数学、物理和化学课程的成绩,计算平均成绩后输出成绩列表,同时还要输出每个学生的平均成绩是否高于班级的平均成绩。
N=4
S1=608090
S2=707887
S3=956689
S4=678990
NoMATPHYCHMAVGY/N
160809077
270788778
395668983Y
467899082Y
实验六数组和字符串
实验目的:
1.掌握一维数组、二维数组和字符数组的定义、赋值和输入输出的使用方法。
2.掌握与数组有关的算法。
内容:
1.输入S1和S2两个字符串,将长的字符串拼接在短的字符串后面并输出,如果长度相等,S1接在S2后面。
假设两个字符串的长度相加不超过80。
(不能使用strcat等函数)
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
0
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[])
123450
532
111213140
4122
0
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.从键盘输入若干数据整数(零表示结束),统计出数据个数,以及最大值、最小值和平均值。
用一个函数实现数据输入的功能,其首部为:
intinput(ints[])
input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。
用一个函数实现求最大值、最小值和平均值的功能,首部为:
voidstatistics(intn,ints[],int*max,int*min,float*avg)
123450
Max=5
Min=1
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.现有如下定义一个点和圆的结构体:
用一个函数来实现判断某个圆是否包含坐标原点,其首部为:
intHa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 实验 指导书 修改