1 #include<stdio.h> 2 #include<math.h> 3 4 double danli() 5 { 6 double P,F,i; //P是本金,F是收益,i年利率 7 int N; //是期限 8 double nlx; 9 printf("请输入本金:\n"); 10 scanf("%lf",&P); 11 printf("请输入年利率\n"); 12 scanf("%lf",&i); 13 printf("请输入年限:\n"); 14 scanf("%d",&N); 15 16 nlx = P*i; 17 F = nlx*N + P; 18 return F; 19 20 } 21 22 double fuli() 23 { 24 25 double P,F,i; //P是本金,F是收益,i年利率 26 int N,W; //是期限 27 printf("请输入本金:\n"); 28 scanf("%lf",&P); 29 printf("请输入年利率\n"); 30 scanf("%lf",&i); 31 printf("请输入年限:\n"); 32 scanf("%d",&N); 33 printf("请输入复利次数:\n"); 34 scanf("%d",&W); 35 36 i=pow(1+i/W,W)-1; 37 F=P*pow((i+1),N); 38 return F; 39 } 40 41 double gusuan() 42 { 43 double P,F,i; //P是本金,F是收益,i年利率 44 int N,W; //是期限 45 printf("请输入收益:\n"); 46 scanf("%lf",&F); 47 printf("请输入年利率\n"); 48 scanf("%lf",&i); 49 printf("请输入年限:\n"); 50 scanf("%d",&N); 51 printf("请输入复利次数:\n"); 52 scanf("%d",&W); 53 i = pow(1+i/W,W)-1; 54 P = F/pow((i+1),N); 55 return P; 56 } 57 58 double TZtime() 59 { 60 double year; 61 double P,F,i; //P是本金,F是收益,i年利率 62 int N,W; //是期限 63 printf("请输入本金:\n"); 64 scanf("%lf",&P); 65 printf("请输入收益:\n"); 66 scanf("%lf",&F); 67 printf("请输入年利率\n"); 68 scanf("%lf",&i); 69 printf("请输入复利次数:\n"); 70 scanf("%d",&W); 71 i = pow((1+i/W),W)-1; 72 year = log(F/P)/log(1+i); 73 return year; 74 75 } 76 double bestProject() 77 { 78 double P,F,i; 79 int N,W; 80 printf("请输入本金:\n"); 81 scanf("%lf",&P); 82 printf("请输入收益:\n"); 83 scanf("%lf",&F); 84 printf("请输入年限\n"); 85 scanf("%d",&N); 86 printf("请输入复利次数:\n"); 87 scanf("%d",&W); 88 i = W*(pow(pow(F/P,1.0/N),1.0/W)-1.0); 89 return i; 90 91 92 } 93 94 double 95 96 void main() 97 { 98 double F1; 99 int ch2; 100 printf("***********复利计算机(3.0)**********\n"); 101 102 printf("------ 1 复利 ------\n"); 103 printf("------ 2 单利 ------\n"); 104 printf("------ 3 本金估算 ------\n"); 105 printf("------ 4 投资年限估算 ------\n"); 106 printf("------ 5 最优投资项目估算 ------\n"); 107 printf("------ 6 月投收益计算 ------\n"); 108 printf(""); 109 scanf("%d",&ch2); 110 switch(ch2){ 111 case 1: 112 F1 = fuli(); break; 113 case 2: 114 F1 = danli(); break; 115 case 3: 116 F1 = gusuan(); 117 break; 118 case 4: 119 F1 = TZtime(); 120 break; 121 case 5: 122 F1 = bestProject(); 123 case 6: 124 F1 = 125 } 126 127 printf("结果为:%.2lf\n",F1); 128 }
原文:http://www.cnblogs.com/liezhihua/p/5282791.html