c语言程序:如果一件事的成功率为1%,做了100次,至少成功一次的概率是多少

我想模拟题的条件,用c语言进行实验。可就是达不到效果。请帮我找一下代码问题并修改,谢谢;
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int td = 0;
int t = 0;
int arr[100];

int IsInArray( int array[], int n, int x)
{
int i;
int flag=0;
for(i=0; i<n; i++)
{
if(x==array[i])
{
flag=1;
break;
}
}
return(flag);
}

void gettest(){
td++;

srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样

for (int i=0; i<100; i++)
{
int n = rand() % 100;//产生0-99的随机数
arr[i]=n;

}
int a=0;
a=IsInArray(arr,100,2);
printf("a=%d",a);
if(a==1)t++;
}

int main(){

int temp=0;

for(int i=0;i<100;i++){
gettest();
int a=0;
a=IsInArray(arr,100,2);
printf("a=%d",a);
if(a==1)t++;
}

printf("\ntemp=%d\n\ntd=%d\n\nt=%d",temp,td,t);
return 0;
}

这题是一道计算题,不是模拟题。

#include <stdio.h>

int main(){

float t=1.0,x=0.99;

int i;

for(i=0;i<100;i++){

t*=x;

}

x=(1-t)*100;

printf("P=%.2f%%",x);

return 0;

}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答