复利计算3.0

#include<stdio.h>

#include<math.h>

double principal=0,mount=0;

int year=0;

int n=1;

double rate;

 

void danli(){

    printf("请输入的本金:");

    scanf("%lf",&principal);

    printf("请输入年限:");

    scanf("%d",&year);
    printf("请输入年利率:");

    scanf("%lf",&rate);

    mount=principal+principal*rate*year;

    printf("本息为:%.2lf
",mount); 

}

 

void fuli(){

 

    printf("请输入本金:");

    scanf("%lf",&principal);

    printf("请输入年限:");

    scanf("%d",&year);

    printf("请输入年利率:");

    scanf("%lf",&rate);

    printf("请输入年复利次数:");

    scanf("%d",&n);

    rate=pow((1+rate/n),n)-1;

    mount=principal*pow((1+rate),year);

    printf("本息为:%.2lf
",mount);

 

}

 

void principaljisuan(){

    printf("请输入期望的收益:");

    scanf("%lf",&mount);  

    printf("请输入年限:");

    scanf("%d",&year);

    printf("请输入年利率:");

    scanf("%lf",&rate);

    printf("请输入年复利次数:");

    scanf("%d",&n);

    rate=pow((1+rate/n),n)-1;

    principal=mount/pow((1+rate),year);

    printf("输出所需本金为:%.2lf
",principal);

 

}

 
void time()
{
    int flat=0;
    
    printf("请输入本利和:"); 
    scanf("%lf",&mount); 
    printf("请输入年回报率:"); 
    scanf("%lf",&rate); 
    printf("请输入本金:"); 
    scanf("%lf",&principal); 
    for(n=1;n<100;n++)    //穷举法求100年满足的计息期数
    {
        if((principal*(pow((1+rate),n)))>=mount)
        {
            printf("计息期数:%d

",n);
            flat=1;
            break;
        }
    }
    if(flat==0)
        printf("在100年内没有符合计息期数!

");
    
}

void lilv()
{
    
    printf("请输入本利和:"); 
    scanf("%lf",&mount); 
    printf("请输入复利次数(年):"); 
    scanf("%d",&year); 
    printf("请输入本金:"); 
    scanf("%lf",&principal); 
    rate=pow(mount/principal, 1.0/year)-1;
    printf("年利率为:%lf",rate);
}

 main(){

    int num=0;

printf("|----------------------------------------|
");

printf("|          1.复利计算                    |
");

printf("|          2.单利计算                    |
");

printf("|          3.计算本金                    |
");

printf("|          4.年限计算                    |
");

printf("|          5.利率估算                    |
");

printf("|----------------------------------------|
");

printf("请输入选择:");

scanf("%d",&num);

switch(num){

case 1:

    fuli(); 

    break;

case 2:

   danli();

    break;

case 3:

    principaljisuan();

break;
 case 4:

     time();
            
 break;
 case 5:

   lilv();

    break;





}

}
原文地址:https://www.cnblogs.com/7763255qw/p/5289034.html