網頁

2012年4月20日 星期五

[雜事]2012-04-20 C語言之硬幣投擲機率


最近接近期中考了

針對這種使用隨機的涵數來做題目算是非常廣闊

最常拿來用於設計骰子亂數決定數字的方式

還有使用硬幣來投擲也是很常見的

以下就是使用硬幣來選擇正反的機率有多少

基本上每次出現的數字應該都會略有不同

不過應該都是將近50%


#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[])
{
  while(1)
  {
  int n,i,l,tu=0,fl=0;
  float tue=0,fle=0;
  

  
  printf("輸入投擲次數=");
  scanf("%d",&n);
  for (i=0;i<n;i++)
  {
   
   l=rand() %2;
   if (l==0)tu++;
   if (l==1)fl++;
   }
  printf("正面=%d\n",tu);
  printf("反面=%d\n",fl);
  tue=(float)tu/(tu+fl)*100;
  fle=(float)fl/(tu+fl)*100;
  printf("正面機率=%2.2f \n",tue);
  printf("反面機率=%2.2f \n",fle);
}

  
  system("PAUSE");

  
  return 0;
}



同樣的為了測試同學輸入是否正確

加入了一個while迴圈

可以快速一次輸入很多號碼來做篩選

同樣也可以輸入很多次一樣的數字 來確認其實每次機率都略有不同

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

Site Meter