欢迎来到天天文库
浏览记录
ID:59206288
大小:117.50 KB
页数:4页
时间:2020-09-10
《实验5_函数程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验名称:实验五函数程序设计日期:2014.05.13任课教师:和力专业:信息管理与信息系统学号:姓名:蔡小莲【实验目的】1、掌握函数的定义与调用2、掌握函数参数的传递方式3、领会函数的递归调用【实验内容】1、用递归法求两个正整数x、y的最大公约数,递归公式为:n解题思路:根据所给出的公式将自定义函数写出来将两个实参值a,b传递给x,y,执行输入的两个正整数,最后将c调入主函数中,输出最大公约数。n流程图:输入正整数a,bc=gcd(a,b)输出c实参的值传给x,yTy<=x且xmody=0Fc=yTy>xFc=gcd(y
2、,x)c=gcd(y,xmody)n源程序:#includeintmain(){intgcd(intx,inty);inta,b,c;printf("输入两个正整数:");scanf("%d,%d",&a,&b);c=gcd(a,b);printf("两个数的最大公约数是:%d",c);return0;}intgcd(intx,inty){intc;if(y<=x&&x%y==0)c=y;elseif(y>x)c=gcd(y,x);elsec=gcd(y,x%y);return(c);}n运行结果:n
3、学习心得(可选):2、编写一函数完成十进制整数到二进制数的转换,函数的原型为:voiditob(intn,chars[])并测试你编写的函数。n解题思路:输入一个数字利用voiditob(intn,chars[])函数进行十进制数转换成二进制数的运算,再对函数调用,然后输出结果。n流程图:输入十进制数n和字符数组str[20]i=0,n>0str[i]=n%2+‘0’str[++i]=‘ ’n=n/2i=i-1i>=0输出str[i]i++输入n定义str[20]itob(n,str)n源程序:#include4、o.h>voiditob(intn,charstr[]){inti=0,j=0;printf("转换成的二进制整数是:",n);while(n){str[i]=n%2+'0';str[++i]=' ';n=n/2;}for(i=i-1;i>=0;i--){printf("%c",str[i]);}}voidmain(){intn;charstr[20];printf("请输入一个十进制数:",n);scanf("%d",&n);itob(n,str);}n运行结果:n学习心得(可选):【教师评语和成绩】成绩:指导教师5、:日期:
4、o.h>voiditob(intn,charstr[]){inti=0,j=0;printf("转换成的二进制整数是:",n);while(n){str[i]=n%2+'0';str[++i]=' ';n=n/2;}for(i=i-1;i>=0;i--){printf("%c",str[i]);}}voidmain(){intn;charstr[20];printf("请输入一个十进制数:",n);scanf("%d",&n);itob(n,str);}n运行结果:n学习心得(可选):【教师评语和成绩】成绩:指导教师
5、:日期:
此文档下载收益归作者所有