程序:计算本金和复利之和。
编写程序打印出一个表格,这个表格显示了在几年时间内100美金投资在不通利率上的价值。用户将输入利率和要投资的年数。假设整合利息一年一次,表格将显示出一年间在此输入利率下河后边四个更高利率下投资的价值。
**输入格式要求:"%d" 提示信息:"Enter interest rate:" "Enter number of year:"
**输出格式要求:"\nyears" "%6d%%" "%3d " "%7.2f"
下面是程序运行时的情况:
Enter intereset rate: 6
Enter number of years: 5
years 6% 7% 8% 9% 10%
1 106.00 107.00 108.00 109.00 110.00
2 112.36 114.49 116.64 118.81 121.00
3 119.10 122.50 125.97 129.50 133.10
4 126.25 131.08 136.05 141.16 146.41
5 133.82 140.26 146.93 153.86 161.05
#include<stdio.h>
#define NUM_rate (sizeof(value) / sizeof(value[0]))//将数组value的元素个数进行宏定义,防止幻数的出现
#define INITiAL_value 100.00 //数组中的初始值进行宏定义
int main(void)
{
int i, rate, NUM_year, year;
float value[5];
printf("Enter interest rate:");
scanf("%d", &rate);
printf("Enter number of year:");
scanf("%d", &NUM_year);
printf("\nyear");//打印出第一排的year
for (i = 0; i < NUM_rate; i++)//利用循环打印出第一排剩下的内容
{
printf("%6d%%", rate + i);//i的进行迭代
value[i] = INITiAL_value;//初始value数值中的值为100.00
}
putchar('\n');//换行,注意单引号
for (year = 1; year <= NUM_year; year++)//循环打印year下的年数
{
printf("%3d ", year);
for (i = 0; i < NUM_rate; i++)//每一年中,循环打印不同利润率下的金额
{
value[i] += (rate + i) / 100.00 * value[i];//迭代更新value数组中的新值
printf("%7.2f", value[i]);
}
putchar('\n');
}
}