复利计算
#include<stdio.h>
#include<math.h>
void FL()
{
???????? int n,j;
???????? double i,p,f;
???????? printf("請(qǐng)輸入本金");
???????? scanf("%lf",&p);
???????? printf("請(qǐng)輸入年利率");
???????? scanf("%lf",&i);
???????? printf("請(qǐng)輸入存款年限");
???????? scanf("%d",&n);
???????? printf("請(qǐng)輸入復(fù)利次數(shù)");
???????? scanf("%d",&j);
???????? f=p*pow((1+i/j),n*j);
???????? printf("本金利息共為%lf\n",f);
}
void DL()
{
????????
???????? double f,i,p,n;
???????? printf("請(qǐng)輸入本金");
???????? scanf("%lf",&p);
???????? printf("請(qǐng)輸入年利率");
???????? scanf("%lf",&i);
???????? printf("請(qǐng)輸入存款年限");
???????? scanf("%lf",&n);
???????? f=p*(1+i*n);
???????? printf("本金利息共為%lf\n",f);
}
void BJ()
{
???????? int n1,n2,j1,a;
???????? double f1,f2,i1,i2,p1,p2;
??? printf("1:復(fù)利計(jì)算本金\n");
??? printf("2:單利計(jì)算本金\n");
???????? printf("請(qǐng)輸入序號(hào)(1-2)");
CBJ:
???????? scanf("%d",&a);
??? switch(a)
???????? {
???????? case 1:
???????? printf("請(qǐng)輸入目標(biāo)金額");
???????? scanf("%lf",&f1);
???????? printf("請(qǐng)輸入年利率");
???????? scanf("%lf",&i1);
???????? printf("請(qǐng)輸入存款年限");
???????? scanf("%d",&n1);
???????? printf("請(qǐng)輸入復(fù)利次數(shù)");
???????? scanf("%d",&j1);
???????? p1=f1/pow(i1/j1+1,j1*n1);
???????? printf("本金為%lf\n",p1);
???????? break;
???????? case 2:
???????? printf("請(qǐng)輸入目標(biāo)金額");
???????? scanf("%lf",&f2);
???????? printf("請(qǐng)輸入年利率");
???????? scanf("%lf",&i2);
???????? printf("請(qǐng)輸入存款年限");
???????? scanf("%d",&n2);
???????? p2=f2/(1+i2*n2);
???????? printf("本金為%lf\n",p2);
???????? break;
???????? default:
?????????????????? printf("請(qǐng)重新輸入序號(hào)(1-2)");
?????????????????? goto CBJ;
???????? }
?
}
void Time()
{
???????? int j1,a;
??? double? f1,f2,i1,i2,p1,p2,n1,n2;
??? printf("1:復(fù)利計(jì)算時(shí)間\n");
??? printf("2:單利計(jì)算時(shí)間\n");
???????? printf("請(qǐng)輸入序號(hào)(1-2)");
CTime:
???????? scanf("%d",&a);
??? switch(a)
???????? {
???????? case 1:
???????? printf("請(qǐng)輸入目標(biāo)金額");
???????? scanf("%lf",&f1);
???????? printf("請(qǐng)輸入年利率");
???????? scanf("%lf",&i1);
???????? printf("請(qǐng)輸入本金");
???????? scanf("%lf",&p1);
???????? printf("請(qǐng)輸入復(fù)利次數(shù)");
???????? scanf("%d",&j1);
???????? n1=log(pow(f1/p1,1/j1))/log(1+i1/j1);
???????? printf("時(shí)間為%lf\n",n1);
???????? break;
???????? case 2:
???????? printf("請(qǐng)輸入目標(biāo)金額");
???????? scanf("%lf",&f2);
???????? printf("請(qǐng)輸入年利率");
???????? scanf("%lf",&i2);
???????? printf("請(qǐng)輸入本金");
???????? scanf("%lf",&p2);
??? n2=(f2/p2-1)/i2;
???????? printf("時(shí)間為%lf\n",n2);
???????? break;
???????? default:
?????????????????? printf("請(qǐng)重新輸入序號(hào)(1-2)");
?????????????????? goto CTime;
?
???????? }
?
}
void LL()
{
???????? int a;
???????? double f1,f2,i1,i2,p1,p2,n1,n2,j1;
??? printf("1:復(fù)利計(jì)算利率\n");
??? printf("2:單利計(jì)算利率\n");
???????? printf("請(qǐng)輸入序號(hào)(1-2)");
CLL:
???????? scanf("%d",&a);
??? switch(a)
???????? {
???????? case 1:
???????? printf("請(qǐng)輸入目標(biāo)金額");
???????? scanf("%lf",&f1);
???????? printf("請(qǐng)輸入存款年限");
???????? scanf("%lf",&n1);
???????? printf("請(qǐng)輸入本金");
???????? scanf("%lf",&p1);
???????? printf("請(qǐng)輸入復(fù)利次數(shù)");
???????? scanf("%lf",&j1);
???????? i1=j1*(pow(pow(f1/p1,1/j1),1/n1)-1);
???????? printf("利率為%lf\n",i1);
???????? break;
???????? case 2:
???????? printf("請(qǐng)輸入目標(biāo)金額");
???????? scanf("%lf",&f2);
???????? printf("請(qǐng)輸入本金");
???????? scanf("%lf",&p2);
???????? printf("請(qǐng)輸入存款年限");
???????? scanf("%lf",&n2);
???????? i2=(f2/p2-1)/n2;
???????? printf("利率為%lf\n",i2);
???????? break;
???????? default:
?????????????????? printf("請(qǐng)重新輸入序號(hào)(1-2)");
?????????????????? goto CLL;
???????? }
?
}
void DT()
{?
?? int b;
?? double M,a,x,n;
?? printf("1:月定基金投\n");
?? printf("2:年基金定投\n");
?? printf("請(qǐng)輸入序號(hào)(1-2)");
CDT:
?? scanf("%d",&b);
?? switch(b)
?? {
?? case 1:
???????? ?? printf("請(qǐng)輸入每期定投金額");
???????? ?? scanf("%lf",&a);
???????? ?? printf("請(qǐng)輸入收益率");
???????? ?? scanf("%lf",&x);
???????? ?? printf("請(qǐng)輸入定投期數(shù)");
???????? ?? scanf("%lf",&n);
???????? ?? M=a*12*(1+x)*(-1+pow(1+x,n))/x;
?????? printf("預(yù)期收入為%lf\n",M);
???????? ?? break;
?? case 2:
?????? printf("請(qǐng)輸入每期定投金額");
???????? ?? scanf("%lf",&a);
???????? ?? printf("請(qǐng)輸入收益率");
???????? ?? scanf("%lf",&x);
???????? ?? printf("請(qǐng)輸入定投期數(shù)");
???????? ?? scanf("%lf",&n);
???????? ?? M=a*(1+x)*(-1+pow(1+x,n))/x;
???????? ?? printf("預(yù)期收入為%lf\n",M);
???????? ?? break;
???????? default:
?????????????????? printf("請(qǐng)重新輸入序號(hào)(1-2)");
?????????????????? goto CDT;
???????? }
??
}
void HK()
{
? int n,j;
???????? double i,p,f,y;
???????? printf("請(qǐng)輸入貸款金額");
???????? scanf("%lf",&p);
???????? printf("請(qǐng)輸入年利率");
???????? scanf("%lf",&i);
???????? printf("請(qǐng)輸入還款年限");
???????? scanf("%d",&n);
???????? printf("請(qǐng)輸入復(fù)利次數(shù)");
???????? scanf("%d",&j);
???????? f=p*pow((1+i/j),n*j);
???????? y=f/(n*12);
???????? printf("每月還款為%lf\n",y);
}
?
?
?
void main()
{
???????? int m;
???????? printf("1:復(fù)利計(jì)算\n");
???????? printf("2:單利計(jì)算\n");
???????? printf("3:求本金\n");
???????? printf("4:求時(shí)間\n");
???????? printf("5:求利率\n");
???????? printf("6:基金定投\n");
???????? printf("7:每月還款\n");
?
???????? printf("請(qǐng)輸入序號(hào)(1-7)");
CX:??
???????? scanf("%d",&m);
???????? if(m==1)
?????????????????? FL();
???????? ?else if(m==2)
???????? ??? DL();
???????? ?else if(m==3)
?????????????????? BJ();
???????? ?else if(m==4)
?????????????????? Time();
???????? ?else if(m==5)
?????????????????? ?LL();
???????? ?else if(m==6)
?????????????????? ?DT();
???????? ?else if(m==7)
?????????????????? ?HK();
???????? ?else
???????? ?{??
?????????????????? ?
?????????????????? printf("請(qǐng)重新輸入序號(hào)(1-7)");
???????? ??? goto CX;
???????? ?}
?
}
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Rick00/p/5295983.html
總結(jié)
- 上一篇: Python去除文件名后缀
- 下一篇: U盘变成文件夹