#include<stdio.h> #include<math.h> #include<stdlib.h> void FL(); void DL(); void TR(); main() { int c; while(1){ system("cls"); printf("按所需要的方式输入指令:\n"); printf("复利计算方式输入1\n"); printf("单利计算方式输入2\n"); printf("退出 输入0\n"); scanf("%d",&c); if(c==1) FL(); else if(c==2) DL(); else if(c==0) return 0; else printf("输入错误,请重新输入"); } } void FL() { int n=0,c=0; double f=0,p=0,i=0; system("cls"); while(1){ printf("输入需要方式:\n"); printf("求本利输入1\n"); printf("求利率输入2\n"); printf("求年限输入3\n"); printf("求本金输入4\n"); printf("退出 输入0\n"); scanf("%d",&c); if(c==0) return ; else if(c==1 || c==2 || c==3 || c==4 || c==4) break; } if(c!=1) {printf("请输入本利:"); scanf("%lf",&f); } if(c!=2) {printf("请输入利率%%:"); scanf("%lf",&i); } if(c!=3) {printf("请输入年限:"); scanf("%d",&n); } if(c!=4) {printf("请输入本金:"); scanf("%lf",&p); } switch (c){ case 1: f=p*pow((1+i/100),n); printf("最终金额为:%lf\n",f); break; case 2: i=((pow(f/p,1.0/n))-1)*100; printf("所需利率为:%lf%%\n",i); break; case 3: n=(int)(ceil(log(f/p)/log(1+i/100))); printf("所需年限为:%d年\n", n); break; case 4: p=f/pow((1+i/100),n); printf("所需本金为:%lf\n", p); break; } printf("按任意键继续"); getchar(); getchar(); } void DL() { int n=0,c=0; double f=0,p=0,i=0; system("cls"); while(1){ printf("输入需要方式:\n"); printf("求本利输入1\n"); printf("求利率输入2\n"); printf("求年限输入3\n"); printf("求本金输入4\n"); printf("退出 输入0\n"); scanf("%d",&c); if(c==0) return ; else if(c==1 || c==2 || c==3 || c==4 || c==4) break; } if(c!=1) {printf("请输入本利:"); scanf("%lf",&f); } if(c!=2) {printf("请输入利率%%:"); scanf("%lf",&i); } if(c!=3) {printf("请输入年限:"); scanf("%d",&n); } if(c!=4) {printf("请输入本金:"); scanf("%lf",&p); } switch (c){ case 1: f=p+p*i/100*n; printf("最终金额为:%lf\n",f); break; case 2: i=(f-p)/p/n*100; printf("所需利率为:%lf%%\n",i); break; case 3: n=(f-p)/p/i*100; printf("所需年限为:%d年\n", n); break; case 4: p=f/(1+i/100*n); printf("所需本金为:%lf\n", p); break; } printf("按任意键继续"); getchar(); getchar(); }