// Dice Statistics
// Finds all possible rolls of two theoretical dice.
// Checks how many combinations will results in a target number.
// Reports percentage chance of rolling that number.
// Marc Chee (cs1511@cse.unsw.edu.au), September 2020
#include <stdio.h>
int main(void) {
// Take input from the user about the size of the two dice
int dieOneSize = -55;
int dieTwoSize = -55;
int target = -55;
printf("Please enter the size of the first die: ");
scanf("%d", &dieOneSize);
printf("Please enter the size of the second die: ");
scanf("%d", &dieTwoSize);
printf("Please enter the target value: ");
scanf("%d", &target);
int numRolls = 0;
int numTargets = 0;
// Loop through all values of both dice to get all combinations
int dieOneValue = 1;
while (dieOneValue <= dieOneSize) {
// Loop through die two's values
int dieTwoValue = 1;
while (dieTwoValue <= dieTwoSize) {
numRolls++;
int total = dieOneValue + dieTwoValue;
if (total == target) {
numTargets++;
printf("dieOne: %d, dieTwo: %d ", dieOneValue, dieTwoValue);
printf("Total is %d\n", total);
}
dieTwoValue++;
}
dieOneValue++;
}
printf(
"We have %d possible rolls. %d of them matched the target.\n",
numRolls, numTargets
);
// Calculate the percentage chance of rolling the target
double chance = ((numTargets * 1.0)/numRolls) * 100;
printf("Chance of rolling the target value is: %lf\n", chance);
return 0;
}
Resource created Friday 25 September 2020, 02:23:54 PM.
file: diceStats.c