[C++] 丟骰子範例程式碼 使用switch統計


#include <iostream>
#include <cstdlib> //引入才能夠使用rand()函數
#include <ctime> //引入才能夠使用time()函數
using namespace std;

int main()
{
double num;

cout << "請問骰子要丟幾次? ";
cin >> num; //等待使用者輸入一整數
cout << endl; //換行

srand(time(NULL)); //設定亂數種子,需要#include <ctime>

double one=0,two=0,three=0,four=0,five=0,six=0; //各點數數目變數

for(int n=1;n<=num;n++)
{
switch(rand()%6+1) //使用switch敘述統計各點數數目
{
case 1: //在「rand()%6+1」值為1時進行此動作
one++;
break; //記得加上break,否則會一直執行下去(case2,case3...)
case 2:
two++;
break;
case 3:
three++;
break;
case 4:
four++;
break;
case 5:
five++;
break;
case 6:
six++;
break;
}
}

cout << "以下是丟骰子結果統計:" << endl
<< "1點:" << one << " 百分比:" << 100*one/num << "%" << endl //輸出1點的數目,並且計算佔總數的百分比
<< "2點:" << two << " 百分比:" << 100*two/num << "%" << endl
<< "3點:" << three << " 百分比:" << 100*three/num << "%" << endl
<< "4點:" << four << " 百分比:" << 100*four/num << "%" << endl
<< "5點:" << five << " 百分比:" << 100*five/num << "%" << endl
<< "6點:" << six << " 百分比:" << 100*six/num << "%" << endl;

return 0;
}

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料