c语言程序设计整数min,C语言程序设计课程设计--编写函数,求取两个整数m,n的最大公约数和最小公倍数.doc...

C语言程序设计课程设计--编写函数,求取两个整数m,n的最大公约数和最小公倍数

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

Yn>m

Nt=m;m=n;n=t当(r=m%n)!=0m=n,n=r 向主函数返回n的值输入m,n和h向主函数返回m*n/h的值 图二max函数 图三min函数

1.3源程序

#include

int main()

{ int max(int,int);

int min(int,int,int);

int m,n,h,l;

scanf("%d,%d",&m,&n);

h=max(m,n);

printf("最大公约数是%d\n",h);

l=min(m,n,h);

printf("最小公倍数是%d\n",l);

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程序运行结果如图四:

图四基础题运行截图

2、改错题

2.1题目

#include

#include

void fun(int a, b)

{

int t;

t = b; b = a ; a = t;

}

main( )

{

int a, b;

clrscr( );

printf("Enter a,b :"); scanf("%d%d", &a, &b);

fun(&a, &b);

printf("a=%d b=%d\n", a, b);

}

2.2题目分析

该源程序的目的是交换两个数的值,有主函数可以看出该函数是应用指针交换两个数的值。所以调用函数中的a,b都要改成*a,*b, void fun(int a, b)改成void fun(int *a,int *b)。clrscr( )只能在Turbo-C中可用所以改用system("cls")。

输入*a,*b t=*b;*b=*a;*a=tviod fun函数:N-S图如图五 main函数:N-S图如图六

清屏输入a,b将a,b赋值到&a,&b中。调用viod fun函数交换两个数的值输出a,b的值

图五viod fun函数

图六main函数2.3正确的源程序

#include

#include

void fun(int *a, int *b)

{

int t;

t= *b;

*b = *a ;

*a = t;

}

main( )

{

int a, b;

system("cls");

printf("Enter a,b :");

scanf("%d%d", &a, &b);

fun(&a,&b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值