Suppose you have a program of 45 bugs and a group of seven developers.
You'll divide the bugs equally among the developers and work out how many each developer has.
You'll work out how many bugs are left over.
#include <stdio.h> int main(void) { int bugs = 45; // Number of bugs in the code int developers = 7; // Number of developers int bugs_per_developer = 0; // Number of bugs per developer int bugs_left_over = 0; // Number of bugs left over // Calculate how many bugs each developer gets when they are divided up bugs_per_developer = bugs/developers; // Number of bugs per developer printf("You have %d developers and %d bugs\n", developers, bugs); printf("Give each developer %d bugs.\n", bugs_per_developer); // Calculate how many bugs are left over bugs_left_over = bugs%developers;//from w ww . j a v a2 s .c o m printf("There are %d bugs left over.\n", bugs_left_over); return 0; }
Four integer variables, bugs, developers, bugs_per_developer, and bugs_left_over, are declared and initialized with the following statements:
int bugs = 45; // Number of bugs in the jar int developers = 7; // Number of developers int bugs_per_developer = 0; // Number of bugs per developer int bugs_left_over = 0; // Number of bugs left over
The number of bugs is divided by the number of developers by using the division operator / to produce the number of bugs given to each developer:
bugs_per_developer = bugs/developers; // Number of bugs per developer
The next two statements output what is happening, including the value stored in bugs_per_developer:
printf("You have %d developers and %d bugs\n", developers, bugs); printf("Give each developer %d bugs.\n", bugs_per_developer);
The division operator always produces an integer result when the operands are integers.
The result of dividing 45 by 7 is 6, with a remainder of 3.
You calculate the remainder in the next statement by using the modulus operator:
bugs_left_over = bugs%developers;
Finally, you output the remainder in the last statement:
printf("There are %d bugs left over.\n", bugs_left_over);