似乎无法使其发挥作用。这个想法是计算每次计数后头和尾的百分比,每次迭代后累计。除了我一直得到nan%为我的计算。有人看到我做错了什么?C++:在每次迭代过程中计算概率百分比
void flipCoin(time_t seconds, int flipCount){
vector<int> flips;
float headCount = 0;
float tailCount = 0;
double headProbability = double((headCount/(headCount + tailCount))*100);
double tailProbability = double((tailCount/(headCount + tailCount))*100);
for (int i=0; i < flipCount; i++) {
int flip = rand() % (HEADS - TAILS + 1) + TAILS;
flips.push_back(flip);
if (flips[i] == 1) {
tailCount++;
cout << "Tail Percent: " << tailProbability << "%" << endl;
}else{
headCount++;
cout << "Head Percent: " << headProbability << "%" << endl;
}
}
}
将'headCount'强制转换为'double'。你会得到什么输出? –
“headCount + tailCount”是否为零?如果是这样的话:BZZZZZ!那就是你得到“不是数字”的地方!解?确保你的代码永远不会试图用零除数;换句话说,增加headCount和/或tailCount * BEFORE *你计算“概率”。 – paulsm4