程序设计语言实验指导书-2016修改 下载本文

程序设计语言实验指导书

实验三 循环结构程序设计

实验目的:

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页