| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
分别用(int)result和%.0f,result输出,结果为什么不同??先是wa的代码:
#include <stdio.h>
double fun(unsigned long k,unsigned int n)
{
double result;
double res=1.0;
unsigned long i=1;
if(k==0) result=1;
else
{
while(i<=k)
{
res/=i;
res*=(n-i+1);
i++;
}
result=res;
}
return result;
}
int main()
{
unsigned long n,k;
scanf("%ld %ld",&n,&k);
while(n)
{
double result;
if(k>n/2) result=fun(n-k,n);
else result=fun(k,n);
printf("%d\n",(int)result);-----用%d\n,(int)result
scanf("%ld %ld",&n,&k);
}
return 0;
}
接下来是ac的代码:
#include <stdio.h>
double fun(unsigned long k,unsigned int n)
{
double result;
double res=1.0;
unsigned long i=1;
if(k==0) result=1;
else
{
while(i<=k)
{
res/=i;
res*=(n-i+1);
i++;
}
result=res;
}
return result;
}
int main()
{
unsigned long n,k;
scanf("%ld %ld",&n,&k);
while(n)
{
double result;
if(k>n/2) result=fun(n-k,n);
else result=fun(k,n);
printf("%.0f\n",result);----用的是%.0f\n,result
scanf("%ld %ld",&n,&k);
}
return 0;
}
这二者之间有什么区别吗?请高手相告!!
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator