在完成老师布置的作业时正好注册了CSDN,觉得博客功能挺有意思的
于是愉快地决定将作业内容上传到博客作为自己编程进步路上的见证
作业内容便是编写一个简单的代码求两数的最大公约数与最小公倍数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
//能同时被两数除尽的最大数为最大公约数,能同时除尽两数的最小数为最小公倍数,这是算法的核心
int Max(int x, int y);//在主函数中调用max函数
int a, b, c, d, e;
printf("请输入两个数字\n");
scanf("%d,%d", &a, &b);
e = Max(a, b);
printf("为您求出%d和%d的最大公约数和最小公倍数\n", a, b);
for (c = e; ; c--)//双分号的使用是为了遵循for括号内条件的执行顺序
{
if (a % c == 0 && b % c == 0)//根据最大公约数一定不大于两数最大值,可从最大值开始自减以求最大公约数
{ //%为取余符号,&&为“与”逻辑运算符
break;//跳出之后e的值就被定格在自减后的值
}
}
for (d = e;; d++)
{
if (d % a == 0 && d % b == 0)
{
break;//跳出之后d的值就被定格在自增后的值
}
}
printf("%d是最大公约数\n%d是最大公倍数\n", c,d);
return 0;
}
int Max(int x, int y)//这里是对max函数的定义
{
int z;
if (x > y)z = x;
else z = y;
return (z);
}
//注意在同一个源文件中,被直接调用的函数应当在main函数外
这是本人写的第一个超过三十行的程序,希望我能在这个平台不断成长,提升技术。
如果有读者发现有理解不当或可以改进之处,还请不吝指教!