程序设计语言实验指导书
实验三 循环结构程序设计
实验目的:
1. 掌握循环结构的使用方法。
2. 掌握while和for语句的使用方法。
3. 掌握单重循环和多重循环结构的使用方法。 4. 掌握程序单步调试的方法。 5. 掌握一些简单的算法。
内容:
1. 公式的计算
sum??i sum??(?1)i x=N!
i?1i?12010i
2. 输入最多10个整数,找出最大值、最小值,并计算平均值。
N=5 n1=1 n2=3 n3=5 n4=7 n5=9 Max=9 Min=1 Avg=5
3. 每个大于1的数的立方都可以表示成一连续奇数之和,试证实2到10的数都满足这样
的规律。
2(3)=8 3+5=8
3(3)=27 7+9+11=27
4(3)=64 1+3+5+7+9+11+13+15=64
5(3)=125 21+23+25+27+29=125
第3页
程序设计语言实验指导书
实验四 数组
实验目的:
1. 掌握一维数组和二维数组的定义、赋值和输入输出的使用方法。 2. 掌握与数组有关的算法。
内容:
1. 输入n及n个整数(n<20),然后按奇数升序、偶数降序排列输出。
N=6
n1=1
n2=90
n3=85
n4=2
n5=10
n6=18
odd = 1 85
Even= 90 18 10 2
2. 输入一个日期,计算该天是该年的第几天。
Year=2007
Month=1
Day=15
The day is 15th day of Year 2007.
3. 输入S1和S2两个字符串,将长的字符串拼接在短的字符串后面并输出,如果长度相
等,S1接在S2后面。假设两个字符串的长度相加不超过80。(不能使用strcat等函数)
S1=abc S1=abcdef
S2=123456 S2=1234
Length of S1=3 Length of S1=6
Length of S2=6 Length of S2=4
S1+S2=abc123456 S2+S1=1234abcdef
第4页
程序设计语言实验指导书
实验五 函数
实验目的:
1. 掌握函数定义的方法。
2. 掌握函数调用、实参和形参的传递方法。 3. 掌握变量作用域和变量类型的使用方法。
内容:
1. 从键盘输入数行数据,每行三个正整数n1、n2和n3,三个0表示输入结束。每输入完
一行,输出n1和n2之间(包括n1和n2)能被n3整除的数的个数。 要求用一个函数实现统计整除数个数的功能,其首部为:
1 2 3 int aliquot(int n1, int n2, int n3)
0
2 10 2
5
0 0 0
2. 从键盘输入数行数据,每行最多20个正整数,每行最后用0表示行结束。一个以0开
始的行表示输入结束。每输入完一行,输出该行数据的个数、平均值和有几个数据大于该行的平均值。
用一个函数实现数据输入的功能,其首部为: int input(int s[])
input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。
用一个函数实现求平均值的功能,首部为: 1 2 3 4 5 0 int Average(int n, int s[]) 5 3 2 Average的参数是n个数的数组,函数返回值为平均值。 用一个函数实现统计大于平均值的数据个数,首部为: int Count(int avg, int n, int s[])
11 12 13 14 0 4 12 2 0 3. 从键盘输入最多50个整数,0表示结束。将该批数据存入一个数组中,然后调用
ReverseAndCount函数将数据在数组中的存放次序颠倒并统计出大于平均数的个数,输出结果。
ReverseAndCount函数的功能为颠倒数据存放的次序和统计大于平均数的个数,其首部为:
int ReverseAndCount(int n, int s[])
如果为了程序的结构,你还可以添加其他的子程序。如,可以编写计算数组中数据的平均值的函数,还可将ReverseAndCount函数分成两个子程序实现等。
1 2 3 4 5 0 5 numbers inputted. Reverse: 5 4 3 2 1 Count: 2 第5页
程序设计语言实验指导书
实验六 指针
实验目的:
1. 掌握指针的概念、定义指针和使用指针的方法。 2. 掌握和理解指针和数组的关系和使用方法。 3. 掌握指针和字符串的关系和使用方法。
注意:本次实验需要使用指针进行编程。 内容:
1. 从键盘输入若干数据整数(零表示结束),统计出数据个数,以及最大值、最小值和平
均值。
用一个函数实现数据输入的功能,其首部为: int input(int s[])
input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。
用一个函数实现求最大值、最小值和平均值的功能,首部为:
void statistics(int n, int s[], int *max, int *min, float *avg)
2. 编写函数,通过指针一个将字符串反向。 函数首部为:
void ReverseString(char *s)
abcABC123
321CBAcba
3. 编写一个Insert(插入)函数,将一个字符串插入另一个字符串中指定位置。 函数首部为:
int Insert(char *dest, char *src, int pos) 函数的返回值为插入后的字符串长度。
dest:abcdefg
1 2 3 4 5 0 Max=5 Min=1 Avg=3.000
src:12345 pos:3 output:abc{12345}defg:14 第6页