实验报告 实验名称 函数 学 院 生命科学与健康 专业班级 生物1402 姓 名 蔡忠宇 学 号 20145408 任课教师 实验时间 6月 2日 1. 实验目的 (1)熟练掌握函数声明,函数设计以及循环结构的步骤与方法(2)在编程的过程中加深函数调用的设计思想 2. 实验内容 编写两个函数,一个函数gcd ( )的功能是求两个整数的最大公约数,另一个函数mul()的功能是求两个整数的最小公倍数。 要求: (1) 分别画出gcd ( )和 mul()算法流程; (2) 两个整数在主函数中输入。 (3)在主函数中调用函数gcd ( )和 mul(),首先将两个整数a和b作为实参传递给函数gcd ( ),求出最大公约数后,将最大公约数与两个整数a,b一起作为实参传递给函数mul(),以此求出最小公倍数。 (4)在主函数中输出最大公约数和最小公倍数的值。 3. 源程序 #include int gcd(int a,int b); int mul(int a,int b,int c); void main() { int x,y,m,n; printf("输入两个数:"); scanf("%d%d",&x,&y); m=gcd(x,y); n=mul(x,y,m); printf("最大公约数为:%d\n最小公倍数为:%d",m,n); } int gcd(int a,int b) { int i; if(a>b) for(i=b;i>0;i--) { if((a%i==0)&&(b%i==0)) break; } else for(i=a;i>0;i--) { if((a%i==0)&&(b%i==0)) break; } return(i); } int mul(int a,int b,int c) { int d; c=gcd(a,b); d=a*b/c; return(d); } 4. 运行结果 输入22和77,运行结果如下: 5. 出现问题及解决办法 (1) 在本实验中要求构建两个函数且在主函数中调用函数gcd ( )和 mul(),首先将两个整数a和b作为实参传递给函数gcd ( ),求出最大公约数其程序如下: int gcd(int a,int b) { int i; if(a>b) for(i=b;i>0;i--) { if((a%i==0)&&(b%i==0)) break; } else for(i=a;i>0;i--) { if((a%i==0)&&(b%i==0)) 本文来源:https://www.wddqw.com/doc/a30946cf453610661fd9f408.html