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

巡山小妖精
801次浏览
2021年02月01日 12:49
最佳经验
本文由作者推荐

qq动漫头像女生-摩羯女喜欢一个人的表现

2021年2月1日发(作者:倾城之恋大结局)

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


C
语言程序设计课程设计


评语:








考勤






业:

电气工程及其自动化



级:

电气
1203


名:

熊董



号:
201209837
指导教师:

王思华


过程
设计报告
答辩




总成绩


10



10



40



30



10



100




C
语言程序设计课程设计

兰州交通大学自动化与电气工程学院

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

n>m







N
Y
t=m;m=n;n=t



(r=m%n)!=0
m=n,n=r


向主函数返回
n
的值


图二
max
函数

图三
min
函数

输入
m,n

h

向主函数返回
m*n/h
的值

1
C
语言程序设计课程设计

1.3
源程序

#include
int main()
{

int max(int,int);
int min(int,int,int);
int m,n,h,l;
scanf(
h=max(m,n);
printf(
最大公约数是
%dn

l=min(m,n,h);
printf(
最小公倍数是
%dn
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);
}
2
C
语言程序设计课程设计

1.4
程序运行结果如图四:



图四基础题运行截图

3
C
语言程序设计课程设计

2
、改错题

2.1
题目

#include



#include



void fun(int a, b)
{


int t;




t = b;

b = a

a = t;
}
main( )
{


int a, b;




clrscr( );




printf(




fun(&a, &b);




printf(

b=%dn
}
2.2
题目分析

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

clrscr( )
只能在
Turbo-C
中可用所以改用
system(


viod fun
函数:
N-S
图如图五










main
函数:
N-S
图如图六

输入
*a,*b

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


清屏

输入
a,b

a,b
赋值到
&a,&b
中。

调用
viod
fun
函数交换两个数的




4
图五
viod fun
函数



输出
a,b
的值

C
语言程序设计课程设计























































图六
main
函数
5
C
语言程序设计课程设计

2.3
正确的源程序

#include




#include




void fun(int *a, int *b)

{





int t;





t= *b;





*b = *a





*a = t;

}

main( )

{





int a, b;





system(





printf(





scanf(





fun(&a,&b);





printf(

b=%dn

}

2.4
程序运行结果如图七:



图七改错题运行结果截图

6
C
语言程序设计课程设计

3
、综合题

3.1
题目

设计课题四:猜数字游戏


一、问题描述:

该游戏可以 由程序随机产生或由用户输入四个
0

9
之间的数字,且不重复。
玩 游戏者通过游戏提示输入八次来匹配上面所输入的数字。
A
表示位置正确且数字
正确,
B
表示数字正确而位置不正确。

二、功能要求:

1.

本游戏显示这样的菜单:


1


随机产生数据


2


用户输入数据


3


退出游戏

2.

游戏成功与否都能返回主菜单

三、算法提示:

1.

数据结构:数组

2.

用简单的程序设计方法

四、测试数据:

测试数据:


3792
第一次输入:

1234
0A2B
第二次输入:

5678
0A1B
第三次输入:

0867
0A1B
第四次输入:

9786
1A1B
第五次输入:

1794
2A0B
第六次输入:

2793
2A2B
第七次输入:

3792
7
C
语言程序设计课程设计

4A0B
游戏成功!!!

五、其它:

对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能 ,
如:破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。

3.2
题目分析

本题要求做一个猜字游戏,其功能包括菜单、用户模式测试 、随机产生数据
进行游戏。所以可以得知该游戏包括主函数、随机数产生函数、输入数字函数、
游戏函数、测试数据输入函数。首先通过主函数输出菜单并选择所要进行的模式,
如果选择随机产生数据 则调用随机数产生函数产生随机数,然后将产生的数据代
入游戏函数进行游戏,游戏函数中进行游戏输入 数据时调用输入数字函数输入数
据;如果选择用户输入数据则调用测试数据输入函数输入数据,之后将输 入的数
据代入游戏函数中进行游戏,游戏函数中进行游戏输入数据时调用输入数字函数
输入数据 。


1
)系统的总体框图如图八


功能菜





c_rand()







退

图八系统的总体框图

c_pr
8
ex

C
语言程序设计课程设计


2
)函数间的调用关系如图九

输入数据

主函数
main

随机模式
c_rand()

用户模式









图九函数间的调用关系
9

qq动漫头像女生-摩羯女喜欢一个人的表现


qq动漫头像女生-摩羯女喜欢一个人的表现


qq动漫头像女生-摩羯女喜欢一个人的表现


qq动漫头像女生-摩羯女喜欢一个人的表现


qq动漫头像女生-摩羯女喜欢一个人的表现


qq动漫头像女生-摩羯女喜欢一个人的表现


qq动漫头像女生-摩羯女喜欢一个人的表现


qq动漫头像女生-摩羯女喜欢一个人的表现