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