复利计算1.0-2.0-3.0

  1 #include<stdio.h>
  2 #include<math.h>
  3 
  4 void add(){
  5 double sum,p,a;
  6 int n,s;
  7 printf("选择复利计算或单利计算1/2:");
  8 scanf("%d",&s);
  9 printf("输入本金:");
 10 scanf("%lf",&a);
 11 printf("输入年利率:");
 12 scanf("%lf",&p);
 13 printf("输入年限:");
 14 scanf("%d",&n);
 15 //用if判断语句决定用哪种计算
 16 if(s==1){
 17 sum=a*(pow(1+p,n));
 18 }
 19 else
 20 sum=a*n*p+a;
 21 printf("总利润为:%lf
",sum);
 22 getch();
 23 
 24 }
 25 
 26 void benjin(){
 27 double sum,p,a;
 28 int n;
 29 printf("输入总利润:");
 30 scanf("%lf",&sum);
 31 printf("输入年利率:");
 32 scanf("%lf",&p);
 33 printf("输入年限:");
 34 scanf("%d",&n);
 35 a=sum/pow(1+p,n);
 36 printf("本金为%lf",a);
 37 getch();
 38 }
 39 
 40 void time(){
 41 double sum,p,a,n;
 42 
 43 printf("输入本金:");
 44 scanf("%lf",&a);
 45 printf("输入年利率:");
 46 scanf("%lf",&p);
 47 printf("输入总利润:");
 48 scanf("%lf",&sum);
 49 n=log(sum/a)/log(1+p);
 50 printf("存款期限为:%lf",n);
 51 getch();
 52 }
 53 
 54 void dingtou(){
 55 double sum,p,a,n;
 56 printf("输入每期定投金额:");
 57 scanf("%lf",&a);
 58 printf("输入定投期数:");
 59 scanf("%lf",&n);
 60 printf("输入收益率:");
 61 scanf("%lf",&p);
 62 sum=a*(1+p)*(-1+pow(1+p,n))/p;
 63 printf("预期收益:%lf",sum);
 64 getch();
 65 }
 66 void lilv()
 67 {
 68 double sum,p,a,n;
 69 printf("输入本金:");
 70 scanf("%lf",&a);
 71 printf("输入年限:");
 72 scanf("%lf",&n);
 73 printf("输入总利润:");
 74 scanf("%lf",&sum);
 75 p=pow(sum/a,1/n)-1;
 76 printf("年利率为:%lf",p);
 77 getch();
 78 }
 79 
 80 void main(){
 81 int m;
 82 while(1){
 83 printf("


");
 84 /*主菜单*/
 85        printf("
 ***********************************************
");
 86        printf(" | 1. 总利润计算                                 |
");
 87        printf(" |-----------------------------------------------|
");
 88        printf(" | 2. 本金计算                                   |
");
 89        printf(" |-----------------------------------------------|
");
 90        printf(" | 3. 存款期限计算                               |
");
 91        printf(" |-----------------------------------------------|
");
 92        printf(" | 4. 年利率                                     |
");
 93        printf(" |-----------------------------------------------|
");
 94        printf(" | 5. 定投计算                                   |
");
 95        printf(" |-----------------------------------------------|
");
 96        printf(" | 6. 退出                                       |
");
 97        printf(" |-----------------------------------------------|
");
 98 printf("请选择:");
 99 scanf("%d",&m);
100     switch (m){
101     case 1:{add();break;}
102     case 2:{benjin(); break;}
103     case 3:{time(); break;}
104     case 4:{lilv(); break;}    
105     case 5:{dingtou(); break;}    
106     case 6:exit(0);break;
107     }
108 }
109 
110 }

1.客户说:帮我开发一个复利计算软件。

2.如果按照单利计算,本息又是多少呢?

3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?

4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 

5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?

6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?

}

原文地址:https://www.cnblogs.com/xinmingwang/p/5272632.html