用int类型表示最大公倍数

代码

#include<stdio.h>
#include<stdlib.h>
#include<limits.h> 
int main(void)   
{   
   int m, n, a, b, t, c,Q,sum;  
   printf("请输入两个数:\n");  
   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\n", sum);  
	printf("int类型的极限为:%d\n",INT_MAX);
	Q=INT_MAX/sum;
	printf("最大公倍数是:%d\n",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\n",INT_MAX);
	return 0;
}

求float类型的最大值

#include<stdio.h>
#include<stdlib.h>
#include<float.h>
int main(void){
	printf("%f\n",FLT_MAX);
	return 0;
}

求double函数的最大值

#include<stdio.h>
#include<stdlib.h>
#include<float.h>
int main(void){
	printf("%f\n",DBL_MAX);
	return 0;
}

然后求int float 的界限都可以用#include<limits.h> #include<float.h> 为什么double不可以用#include<double.h>呢

感谢老师为我的疑惑解答。

posted on 2016-11-12 00:33  160809212田京诚  阅读(146)  评论(0编辑  收藏  举报