摘要:/******************************************************************附一: P新郎 计算工具*******************************************************************/#include #include double _p_win_A_in_B_games(double dWinPossiblity ,int a ,int b); void usage(const char * argv0){?printf("useage:\n\t");?printf("%s ? \n",argv0);?printf("MUST 0< <1 AND 0<= ? <= ? AND >0 \n");?printf("for example : %s 0.2 20 5 \n",argv0);} int main(int argc,char** argv){?if (4!= argc) ?{??usage(argv[0]);??return 1;?} ?double dWinPossiblity;?int iGameTimes ,iHitTimes; ?dWinPossiblity=atof(argv[1]); ?iGameTimes=atoi(argv[2]); ?iHitTimes=atoi(argv[3]); ?if ( dWinPossiblity<=0? || dWinPossiblity >=1 )?{??usage(argv[0]);??return 1;?} ?if (iHitTimes <0 || iHitTimes> iGameTimes)?{??usage(argv[0]);??return 1;?} ?if (iGameTimes <=0)?{??usage(argv[0]);??return 1;?} ?double p,pAtLeast;?int i; ?p= _p_win_A_in_B_games(dWinPossiblity ,iHitTimes ,iGameTimes);?pAtLeast=p; ?for (i=iHitTimes+1;i<=iGameTimes;i++)?{??pAtLeast+= _p_win_A_in_B_games(dWinPossiblity ,i ,iGameTimes);?} ?printf("%f %f\n",p,pAtLeast); ?return 0;} template T times(T iDiShu,int iZhishu){?int i; ?if (iZhishu<=0 )??return 1; ?T result=1; ?for (i=0;i阅读全文]