zoukankan      html  css  js  c++  java
  • 复利计算(更新)

      1 #include<stdio.h>
      2 #include<math.h>
      3 void view()
      4 {
      5     printf("              |---------------------------------------------|
    ");
      6     printf("              |                 单/复利计算                 |
    ");
      7     printf("              |---------------------------------------------|
    ");
      8     printf("              |1.单利计算                                   |
    ");
      9     printf("              |---------------------------------------------|
    ");
     10     printf("              |2.复利计算                                   |
    ");
     11     printf("              |---------------------------------------------|
    ");
     12     printf("              |3.求年限                                     |
    ");
     13     printf("              |---------------------------------------------|
    ");
     14     printf("              |4.求年利率                                   |
    ");
     15     printf("              |---------------------------------------------|
    ");
     16     printf("              |5.固定存钱                                   |
    ");
     17     printf("              |---------------------------------------------|
    ");
     18     printf("              |6.贷款                                       |
    ");
     19     printf("              |---------------------------------------------|
    ");
     20     printf("              |0.退出系统                                   |
    ");
     21     printf("              |---------------------------------------------|
    ");
     22 }
     23 
     24 
     25 
     26 main()
     27 {
     28     int i,n,N=100;
     29     double v,money;  //本金 
     30     int years;    //存钱年数、月数 
     31     double sum;  //存款总额 
     32     double r;   //年利率
     33     double A,B,C,y,Money;
     34     while(1)
     35     {
     36 la1:view();
     37         printf("请选择(0-6):");
     38         scanf("%d",&n);
     39         switch(n)
     40         {
     41     case 1:
     42         printf("请输入本金:");
     43         scanf("%lf",&money);
     44           printf("请输入存钱年数:");
     45         scanf("%d",&years);
     46         printf("请输入利率:");
     47         scanf("%lf",&r);
     48         for(i = 1 ; i<=years; i++)
     49         {
     50             sum = r*i*money+money;  
     51             printf("存入第%d年后的存款总额为:%.2lf
    
    
    ",i,sum);
     52         }
     53         break;
     54     case 2:
     55         printf("请选择:
    ");
     56         printf("1.通过本金求存款总额
    ");
     57         printf("2.通过目标总额求本金
    
    ");
     58         scanf("%d",&n);
     59         switch(n)
     60         {
     61         case 1:
     62             printf("请输入本金:");
     63             scanf("%lf",&money);
     64             printf("请输入存钱年数:");
     65             scanf("%d",&years);
     66             printf("请输入利率:");
     67             scanf("%lf",&r);
     68             for(i = 1 ; i<=years; i++)
     69             {
     70                 v=pow(1+r,i);
     71                 sum = v*money;  
     72                 printf("存入第%d年后的存款总额为:%.2lf
    ",i,sum); 
     73             }
     74             goto la1;
     75         case 2:
     76             printf("请输入目标金钱:");
     77             scanf("%lf",&sum);
     78             printf("请输入存钱年数:");
     79             scanf("%d",&years);
     80             printf("请输入利率:");
     81             scanf("%lf",&r);
     82             for(i = 1 ; i<=years; i++)
     83             {
     84                 v=pow(1+r,i);
     85             }
     86             money=sum/v;  
     87             printf("现在必须存入本金为:%.2lf
    
    
    ",money); 
     88             goto la1;
     89         }
     90         case 3:
     91             printf("请输入本金:");
     92             scanf("%lf",&money);
     93             printf("请输入目标金钱:");
     94             scanf("%lf",&sum);
     95             printf("请输入利率:");
     96             scanf("%lf",&r);
     97             C=A=1+r;
     98             B=sum/money;
     99             for(i=1;i<N;i++)
    100             {
    101                 C=C*A;
    102                 if(C>=B)
    103                 {
    104                     break;
    105                 }
    106             }
    107             printf("所需年数为%d
    
    
    ",i+1);
    108             break;
    109         case 4:
    110             printf("请输入本金:");
    111             scanf("%lf",&money);
    112             printf("请输入存钱年数:");
    113             scanf("%d",&years);
    114             printf("请输入目标金钱:");
    115             scanf("%lf",&sum);
    116             B=sum/money;
    117             y=1.0/years;
    118             r=pow(B,y)-1;
    119             printf("所求年利率为:%-.3lf
    
    
    ",r);
    120             break;
    121         case 5:printf("1.每月定投
    ");
    122                printf("2.每年定投
    ");
    123                scanf("%d",&n);
    124             switch(n)
    125             {
    126             case 1:
    127             printf("每月投入本金:");
    128             scanf("%lf",&money);
    129             printf("请输入存钱年数:");
    130             scanf("%d",&years);
    131             printf("请输入年利率:");
    132             scanf("%lf",&r);
    133             money=money*12;
    134             for(i=1;i<=years;i++)
    135             {
    136                 v=pow(1+r,i);
    137             }
    138             Money=money*(1+r)*(-1+v)/r;
    139             printf("%d年后本金和利息之和为:%lf
    
    
    ",years,Money);
    140             goto la1;
    141             case 2:
    142                 printf("每年投入本金:");
    143                 scanf("%lf",&money);
    144                 printf("请输入存钱年数:");
    145                 scanf("%d",&years);
    146                 printf("请输入年利率:");
    147                 scanf("%lf",&r);
    148                 for(i=1;i<=years;i++)
    149                 {
    150                      v=pow(1+r,i);
    151                 }
    152                 Money=money*(1+r)*(-1+v)/r;
    153                 printf("%d年后本金和利息之和为:%lf
    
    
    ",years,Money);
    154                 goto la1;
    155             }
    156             case 6:
    157                 printf("贷款数目:");
    158                 scanf("%lf",&Money);
    159                 printf("还钱期限(年):");
    160                 scanf("%d",&years);
    161                 printf("请输入年利率:");
    162                 scanf("%lf",&r);
    163                 for(i=1;i<=years;i++)
    164                 {
    165                      v=pow(1+r,i);
    166                 }
    167                 money=Money*r/(-1+v)/(1+r);
    168                 money=money/12;
    169                 printf("每月等额本息应还款:%lf
    
    
    ",money);
    170                 break;
    171 
    172     case 0:
    173         return 0;
    174     }
    175     }
    176 }

  • 相关阅读:
    [CareerCup] 13.7 Node Pointer 节点指针
    [LeetCode] Bulls and Cows 公母牛游戏
    [CareerCup] 13.6 Virtual Destructor 虚析构函数
    [CareerCup] 13.5 Volatile Keyword 关键字volatile
    [CareerCup] 13.4 Depp Copy and Shallow Copy 深拷贝和浅拷贝
    [CareerCup] 13.3 Virtual Functions 虚函数
    [CareerCup] 13.2 Compare Hash Table and STL Map 比较哈希表和Map
    [CareerCup] 13.1 Print Last K Lines 打印最后K行
    [CareerCup] 12.6 Test an ATM 测试一个自动取款机
    [LeetCode] Serialize and Deserialize Binary Tree 二叉树的序列化和去序列化
  • 原文地址:https://www.cnblogs.com/14fzf/p/5288171.html
Copyright © 2011-2022 走看看