C Program to Compute Quotient and Remainder

C Program to Compute Quotient and Remainder

A school exercise asks you to quotient and remainder. Use small, named values first so you can distinguish the required calculation from the syntax used to express it.

Integer division truncates toward zero; the remainder satisfies dividend = quotient × divisor + remainder when the division result is representable.

Before this exercise, review operators and conversions and decisions and conditions. The worked program below applies those ideas to this specific problem.

  1. Explain

    Explain why quotient and remainder uses this sequence of operations.

  2. Trace

    Trace the sample values and predict the printed result.

  3. Apply

    Repeat the calculation with dividend -17.

Quotient and Remainder: follow the data

  1. Given data

    A school exercise asks you to quotient and remainder. Use small, named values first so you can distinguish the required calculation from the syntax used to express it.

  2. Rule

    Integer division truncates toward zero; the remainder satisfies dividend = quotient × divisor + remainder when the division result is representable.

  3. Observed result

    Quotient: 3; remainder: 2

A guided model of this example. The illustration explains the process; run the complete C program to check its output.

Understand the operation

The quotient counts whole divisor-sized groups. The remainder is the part left after those groups, with the dividend’s sign when nonzero.

Read the declarations and operands before the output call. %d formats an int; floating-point results use an appropriate precision with %f. A format describes a value that was already computed—it does not choose the earlier arithmetic.

Read the complete C program

The input values are written into this complete C17 example so the calculation can be reproduced without an unavailable service. Change the named data, rebuild and compare the actual output with your prediction.

C17 · complete program

#include <stdio.h>
int main(void) {
  int dividend = 17, divisor = 5;
  printf("Quotient: %d; remainder: %d\n", dividend / divisor, dividend % divisor);
  return 0;
}

Expected output

Quotient: 3; remainder: 2
Run in C compiler →

Follow the values through the code

C17 · code used in this explanation

#include <stdio.h>
int main(void) {
  int dividend = 17, divisor = 5;
  printf("Quotient: %d; remainder: %d\n", dividend / divisor, dividend % divisor);
  return 0;
}

17 / 5 produces three.

17 - 3 × 5 leaves two.

Follow the worked calculation

  1. Start with the sample

    17 / 5 produces three.

  2. Apply the rule

    17 - 3 × 5 leaves two.

  3. Check the result

    Quotient: 3; remainder: 2

    Quotient: 3; remainder: 2
A guided model of this example. The illustration explains the process; run the complete C program to check its output.

Try a small variation

C17 · code used in this explanation

#include <stdio.h>
int main(void) {
  int dividend = 17, divisor = 5;
  printf("Quotient: %d; remainder: %d\n", dividend / divisor, dividend % divisor);
  return 0;
}

Repeat the calculation with dividend -17.

Worked answer

The worked answer follows the same rule with the requested changed data. Compare its complete source and output: Quotient: -3; remainder: -2. The result should follow from the operations, rather than from memorizing the first sample.

C17 · complete program

#include <stdio.h>
int main(void) {
  int dividend = -17, divisor = 5;
  printf("Quotient: %d; remainder: %d\n", dividend / divisor, dividend % divisor);
  return 0;
}

Expected output

Quotient: -3; remainder: -2
Run in C compiler →

Recognize the important boundaries

A zero divisor is invalid, and the minimum signed integer divided by -1 can be unrepresentable. Check these cases in a general signed division helper.

The demonstrated values stay within the types’ representable ranges. A program accepting arbitrary external values needs checked conversion and bounds before performing arithmetic.

Check your understanding

Choose the answer, then compare the reasoning for every option.

What is -17 % 5 in C17?
Choose one answer. You can try again.

Answer and explanation

-2

Correct. The quotient is -3, and -17 = (-3)*5 + (-2).

Use the idea independently

Integer division truncates toward zero; the remainder satisfies dividend = quotient × divisor + remainder when the division result is representable.

Continue with arithmetic operand types.

Continue with validated input.

Language reference: WG14 C11 committee draft. These examples use the C17-compatible subset of the explained language features.

Reaching the recap and completing the quizzes are separate milestones.

    Next lesson: C Program to Make a Simple Calculator →