测试今天刚遇到的 概率 问题:
一根木棍折成三段,求这三段能组成一个三角形的概率
但答案为 0.25.即下面代码里的 pro
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <setjmp.h>
static jmp_buf buf;
int main(int argc, char *argv[]) {
float s[100] = { 0 },pro = 0; //s[100] 表示存取的数列, pro表示概率,x表示符合相加大于1.1条件的数目,y表示总共参与实验的数目
int x = 0, y = 0, i;
printf("请输入测试的数目\n");
setjmp(buf);
scanf_s("%d", &i);
if (i % 2 != 0) {
printf("请输入偶数!\n");
longjmp(buf, 0);
}
srand((unsigned)time(NULL));
while (i > 0) {
s[i] = rand() % 10000 * 0.0001;
y++;
if(i % 2 == 1)
printf("%f,%f\n", s[i+1],s[i]);
i--;
}
while (i < 100)
{
if (s[i] + s[++i] >= 1.1)
x++;
i++;
}
if (y != 0)
pro = (float)x / y;
printf("%d,%d,%f\n", x, y,pro);
system("pause");
return 0;
}