# Thread: need help with compound interest

1. ## need help with compound interest

Folks,
I've got this code below that creates an interest table with the interest compounded annually. I want to convert it to compound the interest on a monthly basis instead. Can anyone help and give advice as to what I need to focus on changing? Thanks!

Code:
```/*Prints a table of compound interest */

#include <stdio.h>

#define NUM_RATES (sizeof(value) / sizeof(value[0]))
#define INITIAL_BALANCE 100.00

main()
{
int i, low_rate, num_years, year;
float value [5];

printf("Enter interest rate: ");
scanf("%d", &low_rate);
printf("Enter number of years: ");
scanf("%d", &num_years);

printf("\nYears");
for (i=0; i<NUM_RATES; i++)   {
printf("%6d%%", low_rate+i);
value[i] = INITIAL_BALANCE;
}
printf("\n");

for (year = 1; year <= num_years; year++)   {
printf("%3d      ", year);
for (i=0; i<NUM_RATES; i++)  {
value[i] += (low_rate+i) / 100.00 * value[i];
printf("%7.2f", value[i]);
}
printf("\n");
}
return 0;
}```

2. How do you think the interest would be calculated on a monthly basis?

--
Mats

3. If your bank tells you they give you 12% interest compounded monthly, what that means is that you get 1% per month.

As an aside: I realize that what you have probably (I hope) makes sense to you, but it is the most inefficient method of computing an interest table I have ever seen (not that I collect them or anything, or that this problem is hard enough so that it matters). There is a formula for this sort of thing; consider using that, or if you don't like formulas, at least storing the last row in an auxiliary array so that you don't have to compute it all over again for the next row.

4. 1&#37; per month results in 12.68% per year

5. Originally Posted by vart
1% per month results in 12.68% per year
Yes. That's why it's called "the magic of compound interest".