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呢?
}