




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C函数程序设计(10003809194j)报告C 语 言 程 序 设 计 实 验 报 告 C函数程序设计(10003809194j) , 掌握函数的声明、定义和调用的方法; , 理解函数调用得工作原理,理解模块化设计方法; , 熟悉递归函数形式,熟悉递归方法解决实际应用问题; , 熟悉并掌握应用函数解决实际应用问题; 二 实验环境及实验准备 , 所需硬件环境为微机; , 所需软件环境为Microsoft Visual C+ 或Code:Blocks ; , 熟悉函数的声明、定义和调用的方法; , 熟悉常用的预处理命令; 三 实验内容 一、应用函数将整数转换成字符 【题目描述】 编写一个函数itoa,将整数转换成字符串,并设计主函数进行调用; 【题目分析】 1 C 语 言 程 序 设 计 实 验 报 告 流程图 【程序源码】 /*程序名:20.c */ /*作者:张旭科 */ /*编制时间:2014.5.21 */ /*主要功能:将输入的整数转化成对应的字符 */ #include int main () int itoa(int a); /*定义一个itoa函数*/ 2 C 语 言 程 序 设 计 实 验 报 告 printf(请输入一个整数:); /*提示输入一个整数*/ int b; char c; scanf(%d,&b); c=itoa(b); printf(该整数转换后的字符是:%5cn,c); return 0; int itoa(int a) /*对itoa函数进行声明*/ char c; c=(char)a; return(c); /*返回c进行再次计算*/ 【运行测试】 3 C 语 言 程 序 设 计 实 验 报 告 二、 应用函数实现矩阵乘法 【题目描述】 编写函数实现矩阵乘法 【题目分析】 流程图 4 C 语 言 程 序 设 计 实 验 报 告 【程序源码】 /*程序名:21.c */ /*作者:张旭科 */ /*编制时间:2014.5.21 */ /*主要功能:用函数实现矩阵乘法 */ #include void main(void) int p,i,j,k,h,f; int a43,b34,c44=0; /*定义数组a是4行3列,b是3行4列,c是4行4列*/ printf(输入数组a:n); for(i=0;i4;i+) for(j=0;j3;j+) scanf(%d,&aij); /*for循环实现a数组的输入*/ printf(输入数组b:n); for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&bij); /*for循环实现b数组的输入*/ for(i=0;i4;i+) h=i; for(j=0;j4;j+) f=j; for(k=0;k4;k+)chf+=ahk*bfk; 5 C 语 言 程 序 设 计 实 验 报 告 printf(输出数组c:n); /*将a的行数和b的列数分别赋值给c*/ for(i=0;i4;i+) for(j=0;j1时,pn(x)=(2n-1)x-pn-1(x)-(n-1)pn-2(x)/n。设计递归函数求pn(x)的值,n和x从主函数中输入。 【题目分析】 流程图 7 C 语 言 程 序 设 计 实 验 报 告 【程序源码】 /*程序名:22.c */ /*作者:张旭科 */ /*编制时间:2014.5.21 */ /*主要功能:使用递归函数实现 N 阶勒让德多项式的输出计算*/ #include int p(int n,int x);/递归函数声明 void main() int a,b; printf(请输入x和n的值(用逗号隔开):);/输入n和x的值 scanf(%d,%d,&a,&b); printf(p%d(%1d)=%dn,a,b,p(a,b);/实现Pnx的输出 int p(int n,int x)/递归函数定义 if(n=0) return 1; if(n=1) return x; else return(2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x)/n;/if条件语句进行计算 8 C 语 言 程 序 设 计 实 验 报 告 【运行测试】 四、应用递归函数实现起泡排序 【题目描述】 定义递归函数实现用“起泡法”对输入的N 个数(采用数组存储)按从大到小排序,并设计主函数进行调用; 【题目分析】 9 C 语 言 程 序 设 计 实 验 报 告 流程图 10 C 语 言 程 序 设 计 实 验 报 告 【程序源码】 /*程序名:23.c */ /*作者:张旭科 */ /*编制时间:2014.5.22 */ /*主要功能:使用递归函数实现 进行排序*/ #include int main() void sort(int array,int n);/定义一个数组array,使用sort函数 int a200,i,m; printf(输入整数的个数:n); scanf(%d,&m); /确定输入的整数的个数 printf(m=%dn,m); printf(输入整数:n); for(i=0;im;i+) scanf(%d,&ai); /输入这一组整数 sort(a,m); printf(从小到大的顺序为 :n); /使用sort函数进行排序 for(i=0;im;i+) printf(%5d,ai); /输出排序后的数组 printf(n); return 0; void sort(int array,int n)/声明该函数 11 C 语 言 程 序 设 计 实 验 报 告 int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(arrayjarrayk) k=j; t=arrayk;arrayk=arrayi;arrayi=t;/进行交换排序 【运行测试】 12 C 语 言 程 序 设 计 实 验 报 告 五、应用函数求最大公约数 【题目描述】 编写函数求解两个给定正整数的最大公约数; 【题目分析】 13 C 语 言 程 序 设 计 实 验 报 告 【程序源码】 /*程序名:24.c */ /*作者:张旭科 */ /*编制时间:2014.5.22 */ /*主要功能:使用函数实现求两个正整数的最大公约数*/ #include int main() int a,b,c; int max(int m,int n); /定义MAX函数 printf(请输入两个数(两个数之间用逗号隔开):n); scanf(%d,%d,&a,&b); c=max(a,b); n);/最大公约数的输出 printf(最大公约数为:%3dgetchar(); int max(int m,int n)/对MAX函数的声明 int temp; temp=m%n; /定义temp是m和n求余的结果 do m=n; n=temp; 14 C 语 言 程 序 设 计 实 验 报 告 temp=m%n; /进行m,n,temp之间的赋值 while(temp); /使用do while循环结构 return(n); 【运行测试】 15 C 语 言 程 序 设 计 实 验 报 告 四 实验分析及问题思考 1、 分析说明C 语言函数传递问题; C语言中,主函数被调用函数之间有三种方式可以进行数据传递: (1)、实际参数和形式参数之间进行的数据传递; (2)、被调用函数通过 return语句,将函数值返回到主函数中; (3)、通过全局变量进行数据传递(这会破坏函数的独立性,使得程序中的变量发生混乱)。 2、分析说明递归函数构造与递归程序设计方法; 在使用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。C语言的特点之一就在于允许函数的递归调用。例如:、 int f(int x) int y,z; z=f(y); return (2*z); /在执行f函数的过程中又要调用f函数 在调用函数f的过程中,又要调用f函数,这就是直接调用本函数。如图 f函数 调用f函数 如果在调用f1函数过程中又要调用f2函数,而在调用f2函数的过程中又要调用f1函数,就是间接调用本函数。如图: 16 C 语 言 程 序 设 计 实 验 报 告 f1函数 f2函数 调用f2函数 调用f1函数 可以看到这两种调用都是无终止的自身调用。所以压迫有一定的条件控制,所以就设计递归程序。在递归程序的设计中,首先要在主函数中 进行函数声明,然后再在主函数结束之后进行该函数的具体定义,最后通过return返回到该函数去。17 C 语 言 程 序 设 计 实 验 报 告 C函数程序设计(10003809194j) 班级: 机1301-1班 学号:20130745 姓名:张旭科 实验自评 自评结果,在对应格内打,, 实验内容 不熟练 一般 比较熟练 熟练 , 函数定义、原型声明和调用 , 函数的参数与参数传递 函数 , 应用函数解决应用问题 , 应用递归函数解决问题 实验体会 函数一节
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境经理年终工作总结
- 公司火灾安全培训内容课件
- 2025年全国成人高校招生考试数学(理)复习题库及答案
- 全运会足球运动员代表资格协议书5篇
- 公司法课件收费
- 公司母亲节课件
- 月度工作汇报排版
- 2025租赁续租合同模板
- 公司旺季员工安全培训课件
- 新课标数学低学段案例解读
- JG/T 127-2007建筑门窗五金件滑撑
- CJ/T 180-2014建筑用手动燃气阀门
- 海参池养殖合作合同协议书
- 日本《大肠癌治疗指南》解读
- 高考语文专题复习:构词方式
- 中国宠物服务行业市场发展分析及发展前景与投资策略研究报告
- 设计院管理规章制度手册及实施指南
- 医院转诊合同标准文本
- 新课标解读丨《义务教育道德与法治课程标准(2022年版)》解读课件
- 《土木工程施工技术与组织(第4版)》思政素材-第4章 混凝土工程
- 2025年建筑施工安全管理人员考试题库试题
评论
0/150
提交评论