代码
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
int main(void)
{
int m, n, a, b, t, c,Q,sum;
printf("请输入两个数:
");
scanf("%d%d", &a, &b);
m=a; n=b;
while(b!=0)
{
c=a%b;
a=b;
b=c;
}
sum=m*n/a;
printf("最小公倍数:%d
", sum);
printf("int类型的极限为:%d
",INT_MAX);
Q=INT_MAX/sum;
printf("最大公倍数是:%d
",sum*Q);
return 0;
}
最大公倍数好求,可是用int类型求最大公倍数就有些困难,从网上找资料,找到界限的公式,但是我仍不太明白这个界限到底是怎么求出来的
为什么必须用INT_MAX不可以用int_MAX呢?还有就是#include<limits.h>在实际编程中有什么作用?只是单纯求一个极限?为什么还要单独占一个
标签?
以下为求int类型的最大值的方法
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
int main(void){
printf("%d
",INT_MAX);
return 0;
}
求float类型的最大值
#include<stdio.h>
#include<stdlib.h>
#include<float.h>
int main(void){
printf("%f
",FLT_MAX);
return 0;
}
求double函数的最大值
#include<stdio.h>
#include<stdlib.h>
#include<float.h>
int main(void){
printf("%f
",DBL_MAX);
return 0;
}
然后求int float 的界限都可以用#include<limits.h> #include<float.h> 为什么double不可以用#include<double.h>呢
感谢老师为我的疑惑解答。