Question: Help needed. Program C, use LOOP only. No Recursion yet. Subject : Analyzing dice rolls is a common example in understanding probability and statistics. The
Help needed. Program C, use LOOP only. No Recursion yet.
Subject:
Analyzing dice rolls is a common example in understanding probability and statistics. The following calculates the number of times the sum of two dice (randomly rolled) equals six or seven.
To Do:
To Create ONE program to do all 3 following in Function that:
1. Calculates the number of times the sum of the randomly rolled dice equals each possible value from 2 to 12.
2. Repeatedly asks the user for the number of times to roll the dice, quitting only when the user-entered number is less than 1. Hint: Use a while loop that will execute as long as numRolls is greater than 1. Be sure to initialize numRolls correctly.
3. Prints a histogram in which the total number of times the dice rolls equals each possible value is displayed by printing a character like * that number of times, as shown below.
Dice roll histogram: 2: ****** 3: **** 4: *** 5: ******** 6: ******************* 7: ************* 8: ************* 9: ************** 10: *********** 11: ***** 12: ****
Basic Code as following:
#include
int main(void){ int i; // Loop counter iterates numRolls times int numRolls; // User defined number of rolls int numSixes; // Tracks number of 6s found int numSevens; // Tracks number of 7s found int die1; // Dice values int die2; // Dice values int rollTotal; // Sum of dice values numSixes = 0; numSevens = 0;
printf("Enter number of rolls: "); scanf("%d", &numRolls);
srand(time(0)); if (numRolls >= 1) { // Roll dice numRoll times for (i = 0; i < numRolls; ++i) { die1 = rand() % 6 + 1; die2 = rand() % 6 + 1; rollTotal = die1 + die2; // Count number of sixs and sevens if (rollTotal == 6) { numSixes = numSixes + 1; } else if (rollTotal == 7) { numSevens = numSevens + 1; } printf(" Roll %d is %d (%d+%d)", i + 1, rollTotal, die1, die2); } // Print statistics on dice rolls printf(" Dice roll statistics: "); printf("6s: %d ",numSixes); printf("7s: %d ",numSevens); } else { printf("Invalid rolls. Try again. "); } return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
