程序设计课程实践严冬梅.ppt_第1页
程序设计课程实践严冬梅.ppt_第2页
程序设计课程实践严冬梅.ppt_第3页
程序设计课程实践严冬梅.ppt_第4页
程序设计课程实践严冬梅.ppt_第5页
已阅读5页,还剩27页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,主讲:严冬梅,程序设计课程实践, Lecture Grade (100) = Exercise Grade (50) + Laboratory Grade (50) Laboratory Grade (50) =,课程评分方法 (Grading Policies),实验 (Laboratory Projects), 共 2 次;迟交罚扣为 10% /周;抄袭者0分; 2人一组,分工负责:编程(Programming: 25)、测试分析(Testing const double eps=1e-5; scanf(“%lf”, ,牛顿迭代法,用迭代法编程求x=sqrt(a),求平方根的迭代公式为:

2、xn+1=0.5*(xn+a/xn) #include main() double r,x0,x1; scanf(%lf, ,求以元多项式 的值Pn(x),输入为(a0, a1 ,, an )、x和n。 秦九韶算法可以求任意幂次的多项式的值。该方法要求多项式按降幂排列,即 f(x)=anxn+an-1xn-1+an-2xn-2+a1x+a0 f(x)=(0 x+an)x+an-1)x+an-2)x+a1)x+a0 f=f*x+a;,秦九韶算法,实验六 数组(1),一、实验目的 1. 掌握一维数组与二维数组的定义、赋值、初始化和输入输出 2. 掌握字符数组和字符串函数的使用 3. 掌握与数组有关

3、的算法(特别是排序算法) 二、实验内容 1. 编程计算矩阵a55主对角线元素之和s1、次对角线元素之和s2和周边元素之和s3。 2. 编程测试字符串str2是否整体包含在字符串str1中,若包含,则指明str2在str1中的起始位置。例如:str1=“abcde”,str2=“cd”,则str2包含在str1中,起始位置为3。 3. 建立矩阵,然后求各行元素之和,并将和最大的一行与第一行交换位置,输出各行之和及交换后的新矩阵。,实验七 数组(2),1. 编写程序,把从键盘输入的金额数(以元为单位)按人民币面额划分,然后显示支付金额的各种面额的人民币的数量 例如:输入124.07元时,输出为:

4、yibaiyuan 1 ershiyuan 1 eryuan 2 wufen 1 erfen 1 2. 有一长度为m+n(m,n已知)的一维数组B,其值事先已经赋好,成初态:b0,b1,.,bm-1,bm,.,bm+n-1, 将数组的前m个元素值与后n个元素值(在保持原来各自的内部顺序的前提下)易位成终态 bm,bm+1,.,bm+n-1,b0,.,bm-1 。要求时间、空间代价最小。 数组B为123456789,若m为3,则数组B变为456789123。,实验八 指针(1),一、实验目的 1. 掌握指针的概念,会定义和使用指针变量 2. 学会使用指针变量访问一维数组和二维数组 二、实验内容

5、1. 编写程序计算键盘输入的字符串中空白字符、数字、和英文字母的个数各是多少。 2. 编写程序,将从键盘输入的字符串中的最后m个字符与最前面的m个字符交换位置。其中的m由用户从键盘指定,m应小于串长度的二分之一。例如m为3,输入的字符串为“abcdefghijk”,则改后的字符串为:“ijkdefghabc”。,实验九 指针(2),一、实验目的 1. 学会使用指针数组、行指针和二级指针访问二维数组 2. 掌握字符型指针和指针数组的使用 二、实验内容 1. 编程计算矩阵a55主对角线元素之和s1、次对角线元素之和s2和周边元素之和s3。要求分别使用行指针和二级指针。 2. 编写程序,使用选择法对

6、多个字符串进行排序。,实验十 函数(1),一、实验目的 1. 掌握函数的定义、说明和调用 2. 掌握变量的作用域和生命期 3. 掌握使用数据复制方式进行参数传递 4. 掌握使用地址传递方式进行参数传递 5. 掌握利用全局变量、函数返回值传递数据 二、实验内容 1. 编写主函数和函数isPrime()。主函数完成输入输出和函数调用;函数isPrime()判断一个整数是否为素数,若为素数返回1,否则返回0。 2.编写主函数和子函数。主函数进行输入、输出和函数调用,子函数的功能是将一整数转化为等值的十进制的字符串。如果n为-47,则字符串s为“-47”;如果n为47,则字符串s为“47”。 3.编写

7、主函数和子函数。主函数进行字符串的输入输出和函数调用,子函数的功能是删除字符指针s指向的字符串中的所有字符c,其格式如下:void delchr(char *s, char c)。,调用函数与被调用函数之间的链接和信息交换一般是由编译系统通过栈来实现的。栈中保存的信息主要包括: 返回地址; 函数被调用时所有局部变量的值以及传值形式参数的值; 所有引用参数及常量引用参数的定义。 递归函数是指直接或间接地调用自己的函数。,递归函数,用递归解决问题的一般步骤: 确定递归结束的条件; 定义递归的执行部分。,递归函数,实验十一 函数(2),一、实验目的 1. 掌握函数的嵌套调用和递归调用 2. 掌握多维

8、数组的参数传递 二、实验内容 1. 求两个矩阵的乘积。请编写cheng函数。 #define M 3 #define L 4 #define N 2 main() int aML,bLN,cMN,i,j,k; void cheng(int(*)L,int(*)N,int(*)N,int,int,int); printf(Enter matrix A(%d*%d):n,M,L); for(i=0;iM;i+) for(j=0;jL;j+) scanf(%d, ,接下页,实验十一 函数(2),二、实验内容 2. 编写递归函数完成下面公式的计算。 g(m,n)= 0 m=0,n=0 g(m-1,2n

9、)+n m0,n=0 3. 分别使用递归方法和非递归方法,求三阶数列的第n项的值(不得使用数组)。 0 n=1 Fib(n)= 0 n=2 1 n=3 Fib(n-1)+Fib(n-2)+Fib(n-3) n3,实验十二 结构体,一、实验目的 1. 掌握typedef的使用 2. 掌握自递归结构体的定义和说明 3. 掌握链表的建立、插入、删除、遍历等基本操作 二、实验内容 1.设有n名职工,每个职工的数据包括工作证号、姓名、工龄、性别、职务和工资。编一函数计算n名职工的总工资和平均工资,主函数进行数据的输入和并输出。 2. 设有类型定义: typedef struct int year; in

10、t month; int day;DATE; 按照下面函数原型说明,编写函数完成: (1)isValidDate()对参数做日期的合法性检查:若是合法日期函数返回非0值;否则为0。int isValidDate(int y,int m,int d); (2)Days()求日期d是该年的第多少天。int Days( DATE d );,实验十三 文件,一、实验目的 1. 掌握文件的打开和关闭 2. 学会使用文件的各种输入输出函数 3. 学会文件的定位和随机读写 4. 学会使用命令行参数编程 二、实验内容 1.编写程序,其功能是:从键盘输入一字符串,把该字符串的小写字母转换成大写字母,输出到文件d

11、at.txt中,然后从该文件中读出字符串并显示出来。 2.有一磁盘文件“employee.txt”存放30名员工的记录。每个员工数据包括:员工编号、姓名、工资、奖金、所得税和社会保险。要求计算每个员工的最终收入(最终收入=工资奖金所得税社会保险),然后生成新文件“salary.txt”存放员工编号、姓名和最终收入。 3.统计磁盘文件“test.txt”中的单词数。,接下页,综合实验一:人民币转化,将键盘输入的一实数转换成人民币的大写形式。 要求:1. 此实数的最小范围为21亿; 2. 在必要的时候要添加“零”、“整”; 3. 可以进行四舍五入。 例如:输入1000005008.9978 输出为:壹拾亿伍仟零玖元整 输入1000005008.902 输出为:壹拾亿伍仟零捌元玖角整 输入1000005008.906 输出为:壹拾亿伍仟零捌元玖角壹分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论