C program to count total number of notes in given amount

Write a C program to accept amount as integer and display total number of notes of Rs. 500, 100, 50, 20, 10, 5, 2, 1. How to count the minimum number of notes required for the given amount in C programming. Program to find minimum number of notes required for the given domination.

Example:
Input amount: 575
Output total number of notes:
500: 1
100: 0
50: 1
20: 1
10: 0
5: 1
2: 0
1: 0

Required knowledge

Basic C programming, If else

Logic to count minimum number of notes

There any many other optimum algorithms to solve the given problem. Here we are using the simplest brute force algorithm to find minimum number of notes required in a given amount. There are basic three steps to solve this problem:
  1. Check if the amount is greater than 500.
  2. Divide the amount by 500 to get maximum number of 500 notes required.
  3. Subtract the amount from the result found in above step * 500.
Repeat the above process for finding minimum number of notes of 200, 100, 50 and so on.

Program to count minimum number of notes

/**
 * C program to count minimum number of notes in an amount
 */
 
#include <stdio.h>

int main()
{
    int amount;
    int note500, note100, note50, note20, note10, note5, note2, note1;
    note500 = note100 = note50 = note20 = note10 = note5 = note2 = note1 = 0 ;


    /* Reads amount from user */
    printf("Enter amount: ");
    scanf("%d", &amount);


    if(amount >= 500)
    {
        note500 = amount/500;
        amount -= note500 * 500;
    }
    if(amount >= 100)
    {
        note100 = amount/100;
        amount -= note100 * 100;
    }
    if(amount >= 50)
    {
        note50 = amount/50;
        amount -= note50 * 50;
    }
    if(amount >= 20)
    {
        note20 = amount/20;
        amount -= note20 * 20;
    }
    if(amount >= 10)
    {
        note10 = amount/10;
        amount -= note10 * 10;
    }
    if(amount >= 5)
    {
        note5 = amount/5;
        amount -= note5 * 5;
    }
    if(amount >= 2)
    {
        note2 = amount /2;
        amount -= note2 * 2;
    }
    if(amount >= 1)
    {
        note1 = amount;
    }

    printf("Total number of notes = \n");
    printf("500 = %d\n", note500);
    printf("100 = %d\n", note100);
    printf("50 = %d\n", note50);
    printf("20 = %d\n", note20);
    printf("10 = %d\n", note10);
    printf("5 = %d\n", note5);
    printf("2 = %d\n", note2);
    printf("1 = %d\n", note1);

    return 0;
} 


Output
Enter amount: 4673
Total number of notes =
500 = 9
100 = 1
50 = 1
20 = 1
10 = 0
5 = 0
2 = 1
1 = 1

Happy coding ;)


Any doubt or suggestion write here. I will try my best to help. Before posting your code you must escape it to view. To format your source code and use format highlighting, post your source code inside
< code >< pre > -- Your source code -- < /pre >< /code > (Remove spaces from pre and code tags).

3 comments:

  1. Here is an error, please correct it: http://i.imgur.com/CPHtIAx.jpg

    ReplyDelete
  2. Here is an error, please correct it: http://i.imgur.com/CPHtIAx.jpg

    ReplyDelete
    Replies
    1. Thanks, Mohan for observing that. It was a typo.

      Delete