人人范文网 范文大全

《算法设计综合实验》教案

发布时间:2020-03-02 19:35:16 来源:范文大全 收藏本文 下载本文 手机版

《算法设计综合实验》教案

统计与应用数学学院

2012年5月11日制

实验一 数据类型、运算符和表达式

实验目的:

1、掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法;

2、掌握不同的数据类型之间赋值的规律;

3、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用;

4、学会使用赋值运算符及复合赋值运算符;

5、进一步熟悉C程序的编辑、编译、连接和运行的过程。

实验环境:

Windows操作系统、Visual C++6.0

实验学时:2学时; 实验内容:

1、整型变量实型变量、字符型变量的定义与输出,赋整型常量值时的情形,以及给整型变量赋字符常量值时的情形;

2、各类数值型数据间的混合运算;

3、要将“China”译成密码,密码规律是:用原来的字母后面第4各字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译成“Glmre”。请编一程序,用赋初值的方法使c

1、c

2、c

3、c

4、c5这5个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使c

1、c

2、c

3、c

4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

实验二 顺序结构程序设计

实验目的:

1、掌握C语言中赋值语句的使用方法;

2、掌握各种类型数据的输入输出方法,能正确使用各种格式转换符;

3、学习调试程序。

实验环境: Windows操作系统、Visual C++6.0 实验学时:2学时; 实验内容:

1、掌握各种格式转换符的正确使用方法;

2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。

3、编程序:用getchar函数读入两个字符给c

1、c2,然后分别用putchar函数和printf函数输出这两个字符。上机运行程序,比较用printf和putchar函数输出字符的特点。

实验三 选择结构程序设计

实验目的:

1、了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。

2、学会正确使用逻辑运算符和逻辑表达式。

3、熟练掌握if语句和switch语句。

4、学习调试程序。

实验环境:

Windows操作系统、Visual C++6.0 实验学时:2学时; 实验内容:

1、有一函数

(x1)xy2x1(1x10)3x11(x10)

用scanf函数输入x的值,求y值(运行程序,输入x的值,检查输出的y值是否正确)。

2、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E,90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 要求:(1)事先编好程序,要求用switch语句来实现,运行程序,并检查输出结果是否正确。(2)修改程序,当输入分数为负值,或大于100时,通知用户“输入数据错误”,程序结束。(3)修改程序,要求用if结构来实现,运行程序,并检查输出结果是否正确。

3、给一个不多于5位的正整数,要求求出它是几位数,打印出每一位数字,并按逆序打印出各位数字。

4、输入4个整数,要求按由小到大的顺序输出。

5、求方程axbxc0的解。 2实验四 循环结构程序设计

实验目的:

1、熟练掌握用while语句,do-while语句;

2、掌握for语句实现循环的方法,掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等);

3、掌握break语句和continue语句的使用;

4、掌握循环结构程序中典型的算法;

5、进一步学习调试程序;

实验环境:

Windows操作系统、Visual C++6.0 实验学时:3学时; 实验内容:

1、编程计算1!+2!+3!+„„n!的值,其中,n值由键盘输入。

2、输入一行字符,分别统计出其中的大小写字母、空格、数字和其他字符的个数。

3、输入两个正整数m和n,求它们的最大公约数和最小公倍数;

4、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再吃时,见只剩下一个桃子了。求第一天共摘了多少桃子。

5、求s=a+aa+aaa+„+aa„a之值,其中a是一个数字,n表示a的位数;

6、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13„„,求出这个数列的前20项之和。

实验五 数组

实验目的:

1、掌握一维数组和多维数组的定义、赋值和输入输出的方法;

2、掌握两种排序算法:冒泡法排序和选择法排序;

3、掌握字符数组和字符串的使用;

4、掌握字符串处理函数的应用;

实验环境:

Windows操作系统、Visual C++6.0 实验学时:5学时; 实验内容:

1、求两个2×3和3×2的矩阵之积,并把结果显示出来。

2、10个人的成绩存放在score数组中,编写程序,将不及格的人数,最低分和最高分显示出来。

3、任意给定三个字符串,编写程序:用两种方法给出最大的一个。

4、编写程序,实现矩阵(5行6列)的转置(即行列互换)。

5、输出杨辉三角(要求输出10行)。

6、编程:将一个十进制整数转换成二进制数。

7、将两个字符串连接起来,用strcat函数和不用strcat函数两种情形;

实验六 函数

实验目的:

1、掌握定义函数的方法;

2、掌握函数实参与形参的对应关系,以及“值传递”的方式。

3、掌握函数的嵌套调用和递归调用的方法;

4、掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法;

实验环境:

Windows操作系统、Visual C++6.0 实验学时:6学时; 实验内容:

1、编程序:通过一个函数判断字符串是否为回文?若是则函数返回1,主函数中输出yes,否则返回0,主函数中输出no。回文是指顺读和倒读都是一样的字符串。

ncm

2、编程实现由主函数输入m,n并输出最终结果,按下述公式计算的值:

ncmm!nn!(mn)!,其中函数f的功能是计算阶乘,函数g的功能是求cm的值。要求三个函数分别存在三个不同的文件中。

3、编写一个函数fun,它的功能是:将字符串a中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。主函数只能用来输入输出字符串。

4、小软件。功能是:输入1,测试姓名的得分;输入2,测试两个名字的缘分;输入3,测试某一天的幸运度。要求:三个功能要用三个独立的函数编写,主函数只能用来输入输出结果。

5、写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备以下测试数据:

17、

34、

2、

1、0。分别运行并检查结果是否正确。

6、编程序:用递归法将一个整数n转换成字符串。例如,输入483,应输出”483”。n的位数不确定,可以是任意的整数。

7、编程序:求两个函数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根据求出的最大公约数求最小公倍数。(要求:不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。)

8、编程序:用全局变量的方法,分别用两个函数求最大公约数和最小公倍数,但其值不由函数带回。将最大公约数和最小公倍数设为全局变量,在主函数中输出它们的值。

实验七 指针

实验目的:

1、通过实验进一步掌握指针的概念,会定义和使用指针变量;

2、能正确使用数组的指针和指向数组的指针变量;

3、能正确使用字符串指针和只想字符串的指针变量;

4、了解指向指针的指针的概念及使用方法。

实验环境:

Windows操作系统、Visual C++6.0 实验学时:6学时; 实验内容:

1、编程序:用指针方法编写程序,输入3个整数,将它们按由小到大的顺序排列输出。然后将程序改为:输入3个字符串,按由小到大的顺序输出。

2、编程序:将一个3×3的矩阵转置,用一函数实现之。在主函数中用scanf函数输入以下矩阵元素:

1357911131519

将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出已转置的矩阵。

3、编程序:用一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数的原型为:int strcmp(char *p1,char *p2); 设p1指向字符串s1,p2指向字符串s2,要求s1=s2时,函数返回值为0;如果s1≠s2,返回它们二者第一个不相同字符的ASCII码差值(如 “BOY”与 “BAD”,第二个字母不相同,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如s1

1、s2由main函数输入,strcmp函数的返回值也由main函数输出。

4、编程序:用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和各整数在主函数中输入。最后在主函数中输出。

实验八 综合训练

实验目的:

综合运用C语言知识,设计实用的一个小系统。 实验环境:

Windows操作系统、Visual C++6.0 实验学时:6学时; 实验内容:

请编写完成如下功能的程序:

在主函数main()中输出如下形式的菜单: Management System of Scores Input the data Out the data Sort the data Search one data Exit the System 然后,输出:

Please input your choice: 接收键盘上输入的选择,分别完成输入数据、输出数据、排序数据、查找数据以及结束程序运行的功能。其中前4个功能分别编写函数 input ( ), output ( ), sort ( ), search ( )实现,第5个功能可以通过调用系统函数 exit(0)实现。

实验九 结构体与共用体

实验目的:

1、掌握结构体类型变量的定义和使用;

2、掌握结构体类型数组的概念和使用;

3、掌握链表的概念,初步学会对链表的操作;

4、掌握共用体的概念与使用。

实验环境:

Windows操作系统、Visual C++6.0 实验学时:4学时; 实验内容:

1、编程序:有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生的数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。要求用一个Input函数输入5个学生数据:用一个average函数求总平均分;用max函数找出最高分学生数据;总平均分和最高分的学生的数据在主函数中输出。

2、编程序:13个人围成一圈,从第1个人开始顺序报号

1、

2、3。凡报到“3”者退出圈子,找出最后留在圈子中的人原来的序号。

3、编程序:建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。

《算法分析与设计》实验指导书

算法与数据结构实验

实验八 概率算法

算法设计与分析 实验指导书1

算法描述与设计教案

算法教学设计

算法教学设计

实验5 页面置换算法

算法与数据结构实验指导书

算法与数据结构实验册

《算法设计综合实验》教案
《《算法设计综合实验》教案.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档