Answer :
Answer:
The C code is given below with appropriate comments
Explanation:
#include<stdio.h>
//defining constants
#define DOLLAR 100
#define QUARTER 25
#define DIME 10
#define NICKEL 5
#define PENNIES 1
//converting method
void ExactChange(int userTotal,int coinVals[])
{
//checking dollars
if (userTotal >=100)
{
coinVals[0]=userTotal/DOLLAR;
userTotal=userTotal-(100*coinVals[0]);
}
//checking quarters
if (userTotal >=25)
{
coinVals[1]=userTotal/QUARTER;
userTotal=userTotal-(25*coinVals[1] );
}
//checking dimes
if (userTotal >=10)
{
coinVals[2]=userTotal/DIME;
userTotal=userTotal-(10*coinVals[2]);
}
//checking nickels
if (userTotal >=5)
{
coinVals[3]=userTotal/NICKEL;
userTotal=userTotal-(5*coinVals[3]);
}
//checking pennies
if (userTotal >=1)
{
coinVals[4]=userTotal/PENNIES;
userTotal=userTotal-coinVals[4];
}
}
//main method
int main() {
//defining the variables
int amount;
//asking for input
printf("Enter the amount in cents :");
//reading the input
scanf("%d",&amount);
//validating the input
if(amount<1)
{
//printing the message
printf("No change..!");
}
//when the input is >0
else
{
int coinVals[5]={0,0,0,0,0};
ExactChange(amount,coinVals);
//checking dollars
if (coinVals[0]>0)
{
//printing dollars
printf("%d Dollar",coinVals[0]);
if(coinVals[0]>1) printf("s");
}
//checking quarters
if (coinVals[1]>0)
{
//printing quarters
printf(" %d Quarter",coinVals[1]);
if(coinVals[1]>1) printf("s");
}
//checking dimes
if (coinVals[2]>0)
{
//printing dimes
printf(" %d Dime",coinVals[2]);
if(coinVals[2]>1) printf("s");
}
//checking nickels
if (coinVals[3]>0)
{
//prinitng nickels
printf(" %d Nickel",coinVals[3]);
if(coinVals[3]>1) printf("s");
}
//checking pennies
if (coinVals[4]>0)
{
//printing pennies
printf(" %d Penn",coinVals[4]);
if(coinVals[4]>1) printf("ies");
else printf("y");
}
}
//end of main method
}