C语言函数操作实验

C语言函数操作实验

ID:37912000

大小:36.00 KB

页数:3页

时间:2019-06-02

C语言函数操作实验_第1页
C语言函数操作实验_第2页
C语言函数操作实验_第3页
资源描述:

《C语言函数操作实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言函数操作实验姓名张旋学号120815156班级电气工程及其自动化成绩一、实验目的:1、熟悉函数的定义、调用等基本操作;2、掌握求求解最大公约数和最小公倍数的方法,并能编程实现。二、实验要求:1、利用网络,自我学习“辗转相除法”最大公约数和最小公倍数的求法;2、根据“辗转相除法”编程实现(递归与非递归两种实现方式;3、根据给出部分代码,补充完成求3个变量的最小公倍数;4、完成实验后,电子版统一交给学习委员之后再交给我,保存,其中文件名称为:实验名称-你的姓名,如:C语言函数操作实验-杨天。三、实验步骤与结果:1、学习“辗转相除法”按照htt

2、p://baike.baidu.com/view/255668.htm地址给出的内容,学习“辗转相除法”。请在下面给出“辗转相除法”的基本思想:辗转相除法就是:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。例如,252和105的最大公约数是21(252=21×12;105=21×5);因为252/105=2余42,所以105和42的最大公约数也是21。在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零。辗转相除法最早只用于处理自然数,辗转相除法被推广至其他类型的数,如高斯整数和一元多项

3、式。自此,现代抽象代数概念如欧几里得整环开始出现。后来,辗转相除法又扩展至其他数学领域,如纽结理论和多元多项式。辗转相除法也有很多应用,应用于音乐,现代密码学,还被用来解丢番图方程和求有限域的倒数。辗转相除法还可以用来构造连分数,在施图姆定理和一些整数分解算法中也有应用。辗转相除法是现代数论中的基本工具。2、根据“辗转相除法”的基本思想,编程实现求2个数的最大公约数和最小公倍数。2.1递归程序如下:#includevoidmain(){inta,a1,b,b1,d,t,c=1,i=2;printf("pleaseinputtw

4、onumbera,b");scanf("%d,%d",&a,&b);if(avoidmain(){inta,b,i,j;printf("请输入两个数:");scanf("%d%d",&a,&b);if(a

5、a;a=b;b=i;}for(i=b;i>1;i--)if(a%i==0&&b%i==0)break;for(j=a;;j++)if(j%a==0&&j%b==0)break;printf("最大公约数是:%d",i);printf("最小公倍数是:%d",j);}3、阅读填空,阅读下面程序,在横线上填写合适的代码,实现:求3个变量的最小公倍数#include"stdio.h"max(intx,inty,intz){if(x>y&&x>z)returnx;elseif(y>=x&&y>z)_returny__________;elser

6、eturnz;}voidmain(){intx,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("%d",j);}四、实验记录(请如实填写实验过程中出现的问题、及解决方法)递归和非递归的意思不懂,造成程序编程不会,问题:出现了无终止的递归调用解决方案:在递归过程中,必须使用If语句建立递归的结束条件,使程序能够在满足一

7、定条件时结束递归,逐层返回。如果没有这样的if语句,在调用该函数进入递归过程后,就会不停的执行下去,这是编写递归程序时经常出现的错误

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。