c语言求最小公倍数的方法

c语言求最小公倍数的方法,第1张

1、对于输入的两个正整数m和n每次输入的大小顺序可能不同,为了使程序具有一般性,首先对整数所m和n进行大小排序,规定变量m中存储大数、变量n中存储小数。

C语言

2、输入的两个数,大数m是小数n的倍数,那么大数m即为所求的最小公倍数;若大数m不能被小数n整除则需要寻找一个能同时被两数整除的自然数

从大数m开始依次向后递增直到找到第一个能同时被两数整除的数为止,所以循环变量i的初值为寻找第一个能同时被两整数整除的自然数,并将其输出。需要注意的是,在找到第一个满足条件的i值后,循环没必要继续下去,所以用break来结束循环。

3、在上面的分析过程中没有提到循环变量的终止条件,因i的最大值不能确定,像这种终止条件不确定的情况如何来表示?方法有两种,第一,可以把判定条件表示成循环变量满足的基本条件,如本例终止条件可表示成i>0;第二,终止条件省略不写,利用循环体中的语句结束循环,如在找到第一个满足条件的自然数时利用break语句结束循环。

程序

#include&ltstdio.h&gt

int main()

{

int m,n,temp,i

printf("Input m&n:")

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

if(m&ltn)/*比较大小,使得m中存储大数,n中存储小数*/

{

temp=m

m=n

n=temp

}

for(i=mi&gt0i++)/*从大数开始寻找满足条件的自然数*/

if(i%m==0&&i%n==0)

{/*输出满足条件的自然数并结束循环*/

printf("The LCW of%d and%d is:%d\n",m,n,i)

break

}

return 0

}

算法设计

对于输入的两个正整数m和n每次输入的大小顺序可能不同,为了使程序具有一般性,首先对整数所m和n进行大小排序,规定变量m中存储大数、变量n中存储小数。

输入的两个数,大数m是小数n的倍数,那么大数m即为所求的最小公倍数;若大数m不能被小数n整除则需要寻找一个能同时被两数整除的自然数。

从大数m开始依次向后递增直到找到第一个能同时被两数整除的数为止,所以循环变量i的初值为寻找第一个能同时被两整数整除的自然数,并将其输出。需要注意的是,在找到第一个满足条件的i值后,循环没必要继续下去,所以用break来结束循环。

扩展资料:

include用法:

#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。

插入头文件的内容

#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:

1、#include&lt文件名&gt

2、#include"文件名"

如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:

#include&ltmath.h&gt//一些数学函数的原型,以及相关的类型和宏

如果需要包含针对程序所开发的源文件,则应该使用第二种格式。

采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在当前项目中的函数原型、类型定义和宏

你可以在#include命令中使用宏。如果使用宏,该宏的取代结果必须确保生成正确的#include命令。例1展示了这样的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

当上述程序代码进入预处理时,如果_DEBUG_宏已被定义,那么预处理器会插入myProject_dbg.h的内容;如果还没定义,则插入myProject.h的内容。

C语言来编写程序求三个数的最小公倍数填空的源代码如下:

#include<stdio.h>

#include<math.h>

void g(a,b)

{

int c,e

for(c=1c<=(a<b?a:b)c++)

if(a%c==0&&b%c==0)//都能被整除,则存储到e;

e=c

printf("最大公约数为:%d\n",e)

}

void f(a,b)

{

int d

for(d=(a>b?a:b)d<=a*bd++)

if(d%a==0&&d%b==0)//都能被整除,则输出;

{

printf("最小公倍数为:%d\n",d)

return

}

void main()

{

int a,b

printf("请输入三个整数:\n")

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

g(a,b)

f(a,b)

}

扩展资料

计算三个数的平均值的源代码如下:

#include<stdio.h>

#include<math.h>

int main()

{

int one,two,three//声明三个变量

double four//声明平均值变量

printf("整个程序可以用来计算三个数的正整数平均值\n"

"请输入三个数值,无所谓正数还是负数\n"

"空格隔开,回车输入\n")//提高程序可读性

scanf("%d %d %d",&one,&two,&three)//读取三个用户输入的数值

four=(abs(one)+abs(two)+abs(three))/3.0//计算平均值

printf("平均值为%.16lf",four)//打印平均值在屏幕上

getchar()

getchar()

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11047419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存