复利计算3.0
Posted 46练思明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复利计算3.0相关的知识,希望对你有一定的参考价值。
1 #include<stdio.h> 2 #include<math.h> 3 #include<conio.h> 4 5 6 void benjin()//计算本金 7 { 8 int N,m; 9 double i,F,P; 10 printf("复利终值:"); 11 scanf("%lf",&F); 12 printf("年利率:"); 13 scanf("%lf",&i); 14 printf("存入年限:"); 15 scanf("%d",&N); 16 printf("年复利次数:"); 17 scanf("%d",&m); 18 P=F/pow((1+i/m),N*m); 19 printf("年复利终值为%.4lf需要本金为:%.4lf\n",F,P); 20 } 21 void fuli()//计算复利终值 22 { 23 int N,m; 24 double i,F,P; 25 printf("存入本金:"); 26 scanf("%lf",&P); 27 printf("年利率:"); 28 scanf("%lf",&i); 29 printf("存入年限:"); 30 scanf("%d",&N); 31 printf("年复利次数:"); 32 scanf("%d",&m); 33 F=P*pow((1+i/m),N*m); 34 printf("复利终值:%.4lf\n",F); 35 } 36 void danli()//单利计算 37 { 38 int N; 39 double i,H,P,L; 40 printf("存入本金:"); 41 scanf("%lf",&P); 42 printf("年利率:"); 43 scanf("%lf",&i); 44 printf("存入年限:"); 45 scanf("%d",&N); 46 L=P*N*i; 47 H=L+P; 48 printf("本息和为:%.4lf\n",H); 49 } 50 void years()//求年份 51 { 52 int N,m; 53 double i,F,P; 54 printf("复利终值:"); 55 scanf("%lf",&F); 56 printf("存入本金:"); 57 scanf("%lf",&P); 58 printf("年利率:"); 59 scanf("%lf",&i); 60 printf("年复利次数:"); 61 scanf("%d",&m); 62 N=(int)(log(F/P)/log(1+i/m)/m); 63 printf("从%.4lf到%.4lf需要%d年\n",P,F,N); 64 } 65 void nianlilv()//计算年利率 66 { 67 int N,m; 68 double i,F,P; 69 printf("复利终值:"); 70 scanf("%lf",&F); 71 printf("存入本金:"); 72 scanf("%lf",&P); 73 printf("存入年限:"); 74 scanf("%d",&N); 75 printf("年复利次数:"); 76 scanf("%d",&m); 77 i=m*(pow(F/P,1.0/(N*m))-1); 78 printf("从%.4lf到%.4lf需要%.4lf\n",P,F,i); 79 } 80 void nianjinzhongzhi()//计算年金终值 81 { 82 int N,n; 83 double i,F,P; 84 printf("存入本金:"); 85 scanf("%lf",&P); 86 printf("存入年限:"); 87 scanf("%d",&N); 88 printf("年利率:"); 89 scanf("%lf",&i); 90 printf("\t\t1:按年投资\n\t\t2:按月投资\n"); 91 A:printf("请选择你要的功能<1|2>:"); 92 scanf("%d",&n); 93 if(n==1) 94 { 95 F=P*(pow(1+i,N)-1)/i; 96 97 } 98 else if(n==2) 99 { 100 F=N*12*(P*(i/12)+P); 101 } 102 else 103 { 104 printf("输入有误!请重新输入\n"); 105 goto A; 106 } 107 printf("%d年后的总产值:%.4lf\n",N,F); 108 109 } 110 void menu()//菜单 111 { 112 printf("\t\t|-----------------------------------|\n"); 113 printf("\t\t| welcome |\n"); 114 printf("\t\t|-----------------------------------|\n"); 115 printf("\t\t| 1:计算本金 |\n"); 116 printf("\t\t| 2:计算年复利终值 |\n"); 117 printf("\t\t| 3:单利计算 |\n"); 118 printf("\t\t| 4:计算年份 |\n"); 119 printf("\t\t| 5:计算年利率 |\n"); 120 printf("\t\t| 6:年金终值(年|月) |\n"); 121 printf("\t\t| 0:结束 |\n"); 122 printf("\t\t|-----------------------------------|\n"); 123 printf("请输入你要选择的功能(0~6):\n"); 124 125 } 126 void main() 127 { 128 int n; 129 while(1) 130 { 131 menu(); 132 scanf("%d",&n); 133 if(n==0) 134 break; 135 switch(n) 136 { 137 case 1: 138 benjin();break; 139 case 2: 140 fuli();break; 141 case 3: 142 danli();break; 143 case 4: 144 years();break; 145 case 5: 146 nianlilv();break; 147 case 6: 148 nianjinzhongzhi();break; 149 case 0:n=0;break; 150 151 } 152 getch(); 153 } 154 }
以上是关于复利计算3.0的主要内容,如果未能解决你的问题,请参考以下文章