In this C program, we will split a given amount into currency notes.Starting from the highest denomination note, we will try to accommodate as many notes possible.
Let amount is A and current note is N, then number of notes is A/N and remaining amount is A%N.Let's say A = 450 and N = 100, then number of 100 notes is 450/100 = 4 and remaining amount is 450%100 = 50.
We will repeat this process for all notes in decreasing order.
Required Knowledge
C program to accept an amount and find number of notes
#include <stdio.h> int main() { int number, i; int notes[7] = {1000, 500, 100, 50, 10, 5, 1}; int noteCounter[7] = {0}; printf("Enter a Number\n"); scanf("%d", &number); for(i = 0; i < 7; i++) { if(number >= notes[i]){ noteCounter[i] = number/notes[i]; number = number - noteCounter[i]*notes[i]; } } /* Print notes */ printf("Currency Count\n"); for(i = 0; i < 7; i++){ if(noteCounter[i] != 0){ printf("%d %d\n",notes[i],noteCounter[i]); } } return 0; }Output
Enter a Number 868 Currency Count 500 1 100 3 50 1 10 1 1 3
Related Topics