任务和代码:输入两个数,并求其最大公约数,写出最大公约数的函数
/*
文件名:main.c
作者:小风景
完成日期:2016.6.20
问题描述: 求最大公约数
程序输出:最大公约数
*/
#include <stdio.h>
//int gcd(int x,int y) //定义用于求两数的最大公约数的函数,函数只管求值,不管输出。输出由main完成
int gcd(int x,int y)
{
//比较x,y找出较小的那个
int m = 0;
if(x < y)
{
m = x;
x = y;
y = m;
}
//利用辗转相除法求最大公约数
while(y > 0)
{
m = x % y;
x = y;
y = m;
}
return x;
}
int main()
{
int a,b,g;
scanf("%d %d", &a, &b);
g=gcd(a,b);
printf("最大公约数是:%d\n", g);
return 0;
}
程序运行结果:
总结:目前这个程序实现了对两个同号的数求最大公约数的功能,与上一篇文章不不同之处在于对函数的处理,上篇中函数先声明,调用之后定义,因此在main函数中能够识别调用的函数,而在这篇文章中,函数直接定义,通过编译器时从上之下编译,因此当编译到main函数时,已经有gcd函数,因此不需要在做声明,可直接使用。