C语言程序设计课程设计
评语: 考勤(10) 纪律(10) 过程(40) 设计报告(30)答辩(10) 总成绩(100)
专 业: 电气工程及其自动化 班 级: 电气1203 姓 名: 熊董 学 号: 201209837 指导教师: 王思华
兰州交通大学自动化与电气工程学院
2013 年07月 20日
1、基础题
1.1题目
编写函数,求取两个整数m,n的最大公约数和最小公倍数。
1.2题目分析
求两个整数的最大公约数和最小公倍数可以用辗转相除法,用两个函数max和min分别求出最大公约数和最小公倍数。在主函数中输入两个整数m和n,并传递给函数max,求出最大公约数返回主函数并赋给整型变量h,然后h和两个整数m,n一起作为实参传递给函数min,从而求出最小公倍数,返回主函数赋给l。输出最大公约数和最小公倍数。 主函数:N-S图如图一 输入两个整数m和n 调用max函数求出最大公约数h 调用min函数求出最小公倍数l 输出两个整数的最大公约数和最小公倍数 图一主函数 max函数:N-S图 如图二 min函数:N-S图如图三 输入m和n Y t=m;m=n;n=t 当(r=m%n)!=0 m=n,n=r 向主函数返回n的值 图二max函数 图三min函数
n>m N 输入m,n和h 向主函数返回m*n/h的值 1.3源程序
#include
{ int max(int,int); int min(int,int,int); int m,n,h,l;
scanf(\h=max(m,n);
printf(\最大公约数是%d\\n\ l=min(m,n,h);
printf(\最小公倍数是%d\\n\return 0; }
int max(int m,int n) { int t,r; if(n>m);
{t=m;m=n;n=t;} while((r=m%n)!=0) {m=n; n=r;} return(n); }
int min(int m,int n,int h) {
return(m*n/h); }
1.4程序运行结果如图四:
图四基础题运行截图
相关推荐: