天天看點

複利計算3.0

複利計算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\n",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\n",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\n",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\n",n);
            flat=1;
            break;
        }
    }
    if(flat==0)
        printf("在100年内沒有符合計息期數!\n\n");
    
}

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("|----------------------------------------|\n");

printf("|          1.複利計算                    |\n");

printf("|          2.單利計算                    |\n");

printf("|          3.計算本金                    |\n");

printf("|          4.年限計算                    |\n");

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

printf("|----------------------------------------|\n");

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;





}

}