C语言函数操作实验.doc_第1页
C语言函数操作实验.doc_第2页
C语言函数操作实验.doc_第3页
全文预览已结束

下载本文档

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

文档简介

C语言函数操作实验姓名张旋学号120815156班级电气工程及其自动化成绩一、实验目的:1、熟悉函数的定义、调用等基本操作;2、掌握求求解最大公约数和最小公倍数的方法,并能编程实现。二、实验要求:1、利用网络,自我学习“辗转相除法”最大公约数和最小公倍数的求法;2、根据“辗转相除法”编程实现(递归与非递归两种实现方式;3、根据给出部分代码,补充完成求3个变量的最小公倍数;4、完成实验后,电子版统一交给学习委员之后再交给我,保存,其中文件名称为:实验名称-你的姓名,如:C语言函数操作实验-杨天。三、实验步骤与结果:1、学习“辗转相除法”按照/view/255668.htm地址给出的内容,学习“辗转相除法”。请在下面给出“辗转相除法”的基本思想:辗转相除法就是:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。例如,252和105的最大公约数是21(252 = 21 12;105 = 21 5);因为252 / 105 = 2余42,所以105和42的最大公约数也是21。在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。辗转相除法最早只用于处理自然数,辗转相除法被推广至其他类型的数,如高斯整数和一元多项式。自此,现代抽象代数概念如欧几里得整环开始出现。后来,辗转相除法又扩展至其他数学领域,如纽结理论和多元多项式。辗转相除法也有很多应用,应用于音乐,现代密码学,还被用来解丢番图方程和求有限域的倒数。辗转相除法还可以用来构造连分数,在施图姆定理和一些整数分解算法中也有应用。辗转相除法是现代数论中的基本工具。2、根据“辗转相除法”的基本思想,编程实现求2个数的最大公约数和最小公倍数。2.1递归程序如下:#include void main()int a,a1,b,b1,d,t,c=1,i=2;printf (please input two number a,bn);scanf (%d,%d,&a,&b);if (ab)t=a;a=b;b=t;a1=a;b1=b;while (i=b)if (a1%i=0&b1%i=0)c*=i;a1/=i;b1/=i;else +i;d=a*b/c;printf (a与b的最大公约数是%d,a与b的最小公倍数是%d,c,d);2.2非递归程序如下:#include void main()int a,b,i,j;printf(请输入两个数:);scanf(%d%d,&a,&b);if(a1;i-)if(a%i=0&b%i=0)break;for(j=a;j+)if(j%a=0&j%b=0)break;printf(n最大公约数是:%d,i);printf(n最小公倍数是:%d,j);3、阅读填空,阅读下面程序,在横线上填写合适的代码,实现:求3个变量的最小公倍数#include stdio.hmax(int x,int y,int z)if(xy&xz) return x;else if(y=x&yz)_return y_;else return z;void main()int x,y,z,s,i=1,j;scanf(%d%d%d,&x,&y,&z);s=_i*s_;while(1)j=i*s;if(_(j%x = 0)&(j%y = 0)&(j%z = 0)_)break;i+;printf(%dn,j);四、实验记录(请如实填写实验过程中出现的问题、及解决方法)递归和非递归的意思不懂,造成程序编程不会,问题:出现了无终止的递归调用解决方案:在递归过程中,必须使用If语句建立递归的

温馨提示

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

评论

0/150

提交评论