为什么输出为0

#include<stdio.h>
#include<math.h>
int main()
{
	int n,m,k;
	double i;
	while(~scanf("%d %d %d",&n,&m,&k))
	{
		if(n <= 5 && n >= 1 && m <= 5 && m >= 1 && k <= 5 && k >= 1)
		{
			i =  k / (n + m + k) * (k-1) / ( n + m + k - 1);
			printf("%.2lf\n",i);
		}
	}
	return 0;
 }


慕侠2084024
浏览 1389回答 2
2回答

慕大佬

因为n,m,k都为整型,故等式“i =  k / (n + m + k) * (k-1) / ( n + m + k - 1)”右边结果也为整型。且k*(k-1)必然小于(n+m+k)*(n+m+k-1),因此结果为零。

闹闹的女朋友

我咋感觉你问题有误呢
打开App,查看更多内容
随时随地看视频慕课网APP