程序设计课程实践

上传人:kms****20 文档编号:40510086 上传时间:2018-05-26 格式:DOC 页数:13 大小:45KB
返回 下载 相关 举报
程序设计课程实践_第1页
第1页 / 共13页
程序设计课程实践_第2页
第2页 / 共13页
程序设计课程实践_第3页
第3页 / 共13页
程序设计课程实践_第4页
第4页 / 共13页
程序设计课程实践_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《程序设计课程实践》由会员分享,可在线阅读,更多相关《程序设计课程实践(13页珍藏版)》请在金锄头文库上搜索。

1、程序设计课程实践程序设计课程实践本文由 RealM 贡献ppt 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。程序设计课程实践主讲: 主讲:严冬梅课程评分方法 (Grading Policies)Lecture Grade (100) = Exercise Grade (50) + Laboratory Grade (50)2Laboratory Grade (50) = Labi = 1(i)实验 (Laboratory Projects)共 2 次;迟交罚扣为 10% /周;抄袭者 0 分; 抄袭者 0 2 人一组,分工负责:编程 人一组,分工负责:编

2、程(Programming: 25)、测试分析 、测试分析(Testing eps=1econst double eps=1e-5; scanf(“%lf %lf”, scanf( %lf , do x0=x1; f=2*x0*x0*x0-4*x0*x0+3*x0f=2*x0*x0*x0-4*x0*x0+3*x0-6; f1=6*x0*x0f1=6*x0*x0-8*x0+3; x1=x0x1=x0-f/f1; while(fabs(f)=eps); printf(“方程的根为%6.2f ,x0); 方程的根为%6.2f printf( 方程的根为%6.2fn”,x0); 牛顿迭代法用迭代法编程

3、求 x=sqrt(a),求平方根的迭代公 用迭代法编程求 x=sqrt(a), x=sqrt(a) 式为: 式为:xn+1=0.5*(xn+a/xn)#include main() double r,x0,x1; scanf(“%lf“, x1=1; do x0=x1; x1=0.5*(x0+r/x0); while(fabs(x1while(fabs(x1-x0)0.0000001); printf(“sqrt(%f)=%f printf(“sqrt(%f)=%fn“,r,x1); 秦九韶算法i 的值 P 求以元多项式 p n ( x ) = a i x 的值 n(x),输入为(a0, ,输

4、入为( i=0 a1 ,, an ) 、 和 n。 ) 、x 和 。 , n秦九韶算法可以求任意幂次的多项式的值。 秦九韶算法可以求任意幂次的多项式的值。该方法要求多 可以求任意幂次的多项式的值 项式按降幂排列, 项式按降幂排列,即 f(x)=anxn+an-1xn-1+an-2xn-2+a1x+a0 +a f(x)=(0 (0?x+a )x+a f(x)=( (0 x+an)x+an-1)x+an-2)x+ +a1)x+a0 f=f*x+a;数组( 实验六 数组(1)一、实验目的掌握一维数组与二维数组的定义、赋值、 1. 掌握一维数组与二维数组的定义、赋值、初始化和输入输出 2. 掌握字符数

5、组和字符串函数的使用 掌握与数组有关的算法(特别是排序算法) 3. 掌握与数组有关的算法(特别是排序算法)二、实验内容1. 编程计算矩阵 a55主对角线元素之和 s1、次对角线元素之 编程计算矩阵 a55主对角线元素之和 s1 a55主对角线元素之和 s1、 s2 和周边元素之和 s3。 和周边元素之和 s3 和 s2 和周边元素之和 s3。 编程测试字符串 str2 是否整体包含在字符串str1 str2 是否整体包含在字符串 str1 中 若包含, 2. 编程测试字符串 str2 是否整体包含在字符串 str1 中,若包含, 则指明str2 str1 中的起始位置 例如:str1=“abc

6、de str2 在 中的起始位置。 abcde” , 则指明 str2 在 str1 中的起始位置。例如:str1= abcde , str2=“cd cd” , str2 包含在 str1 中 起始位置为 3 包含在 str1 str2= cd ,则 str2 包含在 str1 中,起始位置为 3。 建立矩阵,然后求各行元素之和, 3. 建立矩阵,然后求各行元素之和,并将和最大的一行与第一 行交换位置,输出各行之和及交换后的新矩阵。 行交换位置,输出各行之和及交换后的新矩阵。数组( 实验七 数组(2)编写程序,把从键盘输入的金额数(以元为单位) 1. 编写程序,把从键盘输入的金额数(以元为单

7、位)按人民 币面额划分, 币面额划分,然后显示支付金额的各种面额的人民币的数量 例如:输入 124.07 元时,输出为: 124.07 元时 例如:输入 124.07 元时,输出为: yibaiyuan 1 ershiyuan 1 eryuan 2 wufen 1 erfen 1 有一长度为 m+n m+n( 已知)的一维数组 B 2. 有一长度为m+n(m,n 已知)的一维数组 B,其值事先已经 赋好,成初态:b 将数组的前 m 赋好,成初态:b0,b1,bm-1,bm,bm+n-1, 将数组的前 m 个 m+n 元素值与后 n 个元素值( 元素值与后 n 个元素值(在保持原来各自的内部顺序

8、的前提下 要求时间、 )易位成终态 bm,bm+1,bm+n-1,b0,bm-1 。要求时间、 m+n 空间代价最小。 空间代价最小。 数组 B 123456789, 则数组 B 变为456789123 456789123。 数组 B 为 123456789,若 m 为 3,则数组 B变为 456789123。指针( 实验八 指针(1)一、实验目的掌握指针的概念, 1. 掌握指针的概念,会定义和使用指针变量 2. 学会使用指针变量访问一维数组和二维数组二、实验内容编写程序计算键盘输入的字符串中空白字符、 1. 编写程序计算键盘输入的字符串中空白字符、数 和英文字母的个数各是多少。 字、和英文字

9、母的个数各是多少。 编写程序,将从键盘输入的字符串中的最后 m 2. 编写程序,将从键盘输入的字符串中的最后 m 个 字符与最前面的 m 个字符交换位置。其中的 m 字符与最前面的 m 个字符交换位置。其中的 m 由用户 从键盘指定, 应小于串长度的二分之一。例如 m 从键盘指定,m 应小于串长度的二分之一。例如 m为 3, 输入的字符串为“abcdefghijk” , 输入的字符串为“abcdefghijk ,则改后的字符串 ijkdefghabc” 。 为:“ijkdefghabc 。指针( 实验九 指针(2)一、实验目的学会使用指针数组、 1. 学会使用指针数组、行指针和二级指针访问二维

10、 数组 2. 掌握字符型指针和指针数组的使用二、实验内容编程计算矩阵 a55主对角线元素之和 s1 a55主对角线元素之和 s1、 1. 编程计算矩阵 a55主对角线元素之和 s1、次 对角线元素之和 s2 和周边元素之和 s3 s2 和周边元素之和 s3。 对角线元素之和 s2 和周边元素之和 s3。要求分别使 用行指针和二级指针。 用行指针和二级指针。 编写程序,使用选择法对多个字符串进行排序。 2. 编写程序,使用选择法对多个字符串进行排序。函数( 实验十 函数(1)一、实验目的1. 掌握函数的定义、说明和调用 掌握函数的定义、 2. 掌握变量的作用域和生命期 3. 掌握使用数据复制方式

11、进行参数传递 4. 掌握使用地址传递方式进行参数传递 掌握利用全局变量、 5. 掌握利用全局变量、函数返回值传递数据二、实验内容1. 编写主函数和函数 isPrime()。主函数完成输入输出和函数调用;函数 编写主函数和函数 isPrime() 主函数完成输入输出和函数调用; isPrime()。 isPrime()判断一个整数是否为素数 若为素数返回 1 否则返回 0 判断一个整数是否为素数, isPrime()判断一个整数是否为素数,若为素数返回 1,否则返回 0。 2.编写主函数和子函数。主函数进行输入、输出和函数调用, 2.编写主函数和子函数。主函数进行输入、输出和函数调用,子函数的功

12、能是 编写主函数和子函数 将一整数转化为等值的十进制的字符串。如果 n 为-47,则字符串 s 为“-47” ; 将一整数转化为等值的十进制的字符串。如果 n 47,则字符串 s 47 ; 如果 n 47,则字符串 s 47” 。 如果 n 为 47,则字符串 s 为“47 。 3.编写主函数和子函数。主函数进行字符串的输入输出和函数调用, 3.编写主函数和子函数。主函数进行字符串的输入输出和函数调用,子函数的 编写主函数和子函数 功能是删除字符指针 s 指向的字符串中的所有字符 c 其格式如下: 功能是删除字符指针 s 指向的字符串中的所有字符 c,其格式如下:void c)。 delchr

13、(char *s, char c)。递归函数调用函数与被调用函数之间的链接和信息交换一 般是由编译系统通过栈来实现的。 般是由编译系统通过栈来实现的。栈中保存的信 息主要包括: 息主要包括:返回地址; 返回地址; 函数被调用时所有局部变量的值以及 传值形式参数的值; 传值形式参数的值; 所有引用参数及常量引用参数的定义。 所有引用参数及常量引用参数的定义。递归函数是指直接或间接地调用自己的函数。 递归函数是指直接或间接地调用自己的函数。递归函数用递归解决问题的一般步骤: 用递归解决问题的一般步骤:确定递归结束的条件; 确定递归结束的条件; 定义递归的执行部分。 定义递归的执行部分。 例: 1

14、Fact(n)= n*Fact(n-1) 若 n0 /执行部分 执行部分 例: 0 Fib(n)= 1 Fib(n-1)+Fib(n-2) 若 n=0 若 n=1 若 n1 /结束条件 若 n=0 /结束条件函数( 实验十一 函数(2)一、实验目的1. 掌握函数的嵌套调用和递归调用 2. 掌握多维数组的参数传递二、实验内容求两个矩阵的乘积。请编写 cheng 函数。 cheng 函数 1. 求两个矩阵的乘积。请编写 cheng 函数。#define M 3 #define L 4 #define N 2 main() int aML,bLN,cMN,i,j,k; void cheng(int(

15、*)L,int(*)N,int(*)N,int,int,int); A(%d*%d): printf(“Enter matrix A(%d*%d):n“,M,L); for(i=0;i=0 g(mg(m-1,2n)+n m0,n=0 3. 分别使用递归方法和非递归方法,求三阶数列的第 n 分别使用递归方法和非递归方法,求三阶数列的第 n 项的值(不得使用数组) 。 项的值(不得使用数组) 。 0 n=1 Fib(n)= 0 n=2 1 n=3 Fib(n-1)+Fib(n-2)+Fib(nFib(n-1)+Fib(n-2)+Fib(n-3) n3实验十二 结构体一、实验目的1. 2. 3. 掌

16、握 typedef 的使用 掌握 typedef 的使用 typedef 掌握自递归结构体的定义和说明 掌握链表的建立、插入、删除、 掌握链表的建立、插入、删除、遍历等基本操作二、实验内容 设有 n 名职工,每个职工的数据包括工作证号、姓名、工龄、 1.设有 n 名职工,每个职工的数据包括工作证号、姓名、工龄、性 职务和工资。编一函数计算 n 名职工的总工资和平均工资, 别 、职务和工资。 编一函数计算 n 名职工的总工资和平均工资 ,主 函数进行数据的输入和并输出。 函数进行数据的输入和并输出。 设有类型定义: 2. 设有类型定义: year; month; day;DATE; typedef struct int year; int month; int day;DATE; 按照下面函数原型说明,编写函数完成: 按照下面函数原型说明,编写函数完成: )isValidDat

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号