输出100-200间所有偶数之积和奇数之积
为什么我用while语句或者for语句整合到一起算的时候输出的奇数之积为负值?
#include <stdio.h>
#include <math.h>
main()
{
int n=102;
long double odd1=100,odd2;
while (n<=200)
{
if(n%2==0)
{
odd1*=n;
n++;
}
else
{odd2=101;
odd2*=n;
n++;
}
}
printf("odd1=%d\nodd2=%d",odd1,odd2);
}
如果分开算的话就不会有这个问题。
#include <stdio.h>
main()
{
int i;
long double k=100;
for(i=102;i<=200;i+=2)
{
k=k*i;
}
printf("100-200间偶数之积为%d\n",k);
long double t=101;
for(i=103;i<=199;i+=2)
{
t=t*i;
}
printf("100-200间奇数之积为%d\n",t);
}