03-13—复利计算
#include<stdio.h>
#include<math.h>
Write(double *i1,int *p1,int *n1)
{
printf("请输入本金:");
scanf("%d",p1);
printf("请输入年利率(%%):");
scanf("%lf",i1);
while(*i1>100)
{
printf("请重新输入年利率:");
scanf("%lf",i1);
}
printf("请输入年限:");
scanf("%d",n1);
}
Write2(double *f1,double *i1,int *n1)
{
printf("请输入需求金额:");
scanf("%lf",f1);
printf("请输入年利率(%%):");
scanf("%lf",i1);
printf("请输入年限:");
scanf("%d",n1);
}
Caculate(double i,int p,int n)
{
double f;
int num;
printf("\n复利计算请按1 单利计算请按2: 本金计算请按3:\n");
printf("请选择:");
scanf("%d",&num);
while(num!=1&&num!=2&&num!=3)
{
printf("选择错误!请重新选择:");
scanf("%d",&num);
}
if(num==1)
{
Write(&i,&p,&n);
f = p*(pow((1+i/100),n));
printf("最终复利结果为%lf\n",f);
}
if(num==2)
{
Write(&i,&p,&n);
f=p+p*(i/100)*n;
printf("最终单利结果为%lf\n",f);
}
if(num==3)
{
Write2(&f,&i,&n);
p=(int)f/pow((1+i/100),n);
printf("投入本金为%d\n",p);
}
}
main()
{
double i;
int p,n;
Caculate(i,p,n);
}