问题描述:
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。
样例输入:
6 15
样例输出:
3 30
问题分析:
关于最大公约数和最小公倍数的问题已经在前面文章叙述过https://blog.csdn.net/m0_65537508/article/details/136089978?spm=1001.2014.3001.5501,
本次我们主要叙述自定义函数的注意事项:
1.函数声明:
在使用函数之前,通常需要提供函数的声明。声明告诉编译器有关函数的信息,包括返回类型、函数名和参数列表。如果函数定义在使用之后,可以通过在使用之前提供函数原型来声明函数。
2.返回类型:
函数应该明确定义其返回类型。C语言的函数可以返回整数、浮点数、指针等不同类型的值。
3.参数列表:
参数列表中应明确定义每个参数的类型。参数的顺序和数量应该与函数声明或定义一致。参数的名称在函数体内可以与声明时不同,但通常最好保持一致以提高可读性。
4.函数体:
函数体是函数的核心,包含实际的执行代码。确保在函数体内使用了正确的语法和逻辑,并处理了可能的错误和边界情况。
5.局部变量:
在函数内部定义的变量是局部变量,只在函数执行期间存在。确保在使用变量之前进行初始化,以避免使用未初始化的值。
6.全局变量:
函数可以访问全局变量,但应慎重使用。全局变量可能导致命名冲突和代码的不可预测性。
7.函数命名:
给函数取一个有意义的名字,能够清晰表达其功能。命名应符合命名规范,以提高代码的可读性。
代码实现:
#include <stdio.h>
int big(int x,int y);
int small(int x,int y);
int main()
{
int a=0,b=0;
scanf("%d %d",&a,&b);
printf("%d %d",big(a,b),small(a,b));
return 0;
}
int big(int x,int y)
{
int z=x<y?x:y;
while(z!=0)
{
if(x%z==0&&y%z==0)
{
break;
}
z--;
}
return z;
}
int small(int x,int y)
{
int k=x>y?x:y;
while(k<x*y+1)
{
if(k%x==0&&k%y==0)
{
break;
}
k++;
}
return k;
}