编了个C++程序,来算中彩票概率,没错误,但不能使。

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:40:04
#include <iostream>
using namespace std;
long double probability(double number1,double pick1,double number2,double pick2);
int main()
{
double total1,choice1,total2,choice2;
cout<<"Enter the total number of choice on the game card and \n"
"the number of picks allowed:\n";
while ((cin>>total1>>choice1>>total2>>choice2)&&(choice1<=total1&&choice2<=total2))
{
cout<<"you have one choice in ";
cout<<probability(total1,choice1,total2,choice2);
cout<<" of winning.\n";
cout<<"Next two numbers (q to quit): ";
}
cout<<"bye\n";
return 0;
}
long double probability(double number1,double pick1,double number2,double pick2) //例如从39个数中选6个一般号码,再从27个数中选一个特别号码
{
long double result = 1.0;
long double n;
double p;
for (n=number

1 while ((cin>>total1>>choice1>>total2>>choice2)&&(choice1<=total1&&choice2<=total2))

上句建议最好多加括号明确你的条件.因为逻辑符号太多,最好多加括号细分.要不容易出错.

2 long double probability(double number1,double pick1,double number2,double pick2) //例如从39个数中选6个一般号码,再从27个数中选一个特别号码
{
long double result = 1.0;
long double n;
double p; for (n=number1,p=pick1;p>0;n--,p++) //如果底下这一堆句子都是FOR内的,要加个大括号啊.还有从条件句来看是个死循环啊,因为只有一个P>0为终值判断,但P++好象应总大于0?
result=result*n/p;
result=result*pick2/number2;
return result;
}

其它的因你注解较少没看明白.呵呵呵.