模拟蚂蚁借呗—利息计算
程序的源代码如下:
/*
2017年6月11日10:15:49
功能:计算蚂蚁借呗的利息
缺点:本程序没有判断年份是否为闰年
借款当日的时间需要手动输入,年份不能以特定的格式显示
没有还款功能
*/
#include "stdio.h"
#define M 0.0004 //符号之间都只有一个空格
int main()
{
double money , money_end, money_sum = 0, pro , pro_end = 0,fenqi_money;
int month , month_end, day, day_end, times;
printf("请输入需要借款的金额和借款的时间 : ");
scanf("%lf",&money);
printf("the start_time is :");
scanf("%d.%d",&month,&day);
printf("请选择将分期的时间:");
scanf("%d",×);
day_end = 28;
month_end = month ;
fenqi_money = money / times;
for(int i = 1; i <= times; i++,month_end++)
{
if(month_end == 2 )
{
pro = 0; //每个月的利息都重新换算
if(day >= 28) //如果在一个月的28号之后借钱,则将28号之后的日期与下个月28号之前的时间一起算利息
{
for(int j = day; j <= 29; j++)
{
pro += M * money; //算术计算一定要赋初值
}
for(int k = 1; k < 28 ; k++)
{
pro += M * money;
}
}
else
{
for(int k = day; k < 28 ; k++)
{
pro += M * money;
}
}
pro_end += pro;
money_end = pro + fenqi_money;
money_sum += money_end;
month_end = month_end % 12;
day = day_end;
printf("%d月%d日是您的还款日,您应该还款的金额是:%lf\n ", month_end+1,day_end,money_end );
}
else if(month_end == 1 || month_end == 3 || month_end == 5 || month_end == 7 || month_end == 8 || month_end == 10 || month_end == 12)
{
pro = 0;
if(day >= 28)
{
for(int j = day; j <= 31; j++)
{
pro += M * money;
}
for(int k = 1; k < 28 ; k++)
{
pro += M * money;
}
}
else
{
for(int k = day; k <= 28 ; k++)
{
pro += M * money;
}
}
pro_end += pro;
money_end = pro + fenqi_money;
money_sum += money_end;
month_end = month_end % 12;
day = day_end;
printf("%d月%d日是您的还款日,您应该还款的金额是:%lf\n ", month_end+1,day_end,money_end );
}
else if(month_end == 4 || month_end == 6 || month_end == 9 || month_end == 11 )
{
pro = 0;
if(day >= 28)
{
for(int j = day; j <= 30; j++)
{
pro += M * money;
}
for(int k = 1; k <= 28; k++)
{
pro += M * money;
}
}
else
{
for(int k = day; k <= 28; k++)
{
pro += M * money;
}
}
pro_end += pro;
money_end = pro + fenqi_money;
money_sum += money_end;
month_end = month_end % 12;
day = day_end;
printf("%d月%d日是您的还款日,您应该还款的金额是:%lf\n ", month_end+1,day_end,money_end );
}
money = money - fenqi_money ;
}
printf("需要还款总的利息为: %lf\n",pro_end);
printf("需要还款总的金额为: %lf\n",money_sum);
return 0;
}
/*
总结:
在vc++6.0中显示的结果:
————————————————————————————————————————————————
请输入需要借款的金额和借款的时间 : 1200
the start_time is :6.9
请选择将分期的时间:12
7月28日是您的还款日,您应该还款的金额是:109.600000
8月28日是您的还款日,您应该还款的金额是:113.640000
9月28日是您的还款日,您应该还款的金额是:112.400000
10月28日是您的还款日,您应该还款的金额是:111.160000
11月28日是您的还款日,您应该还款的金额是:109.920000
12月28日是您的还款日,您应该还款的金额是:108.680000
1月28日是您的还款日,您应该还款的金额是:107.440000
2月28日是您的还款日,您应该还款的金额是:106.200000
3月28日是您的还款日,您应该还款的金额是:104.640000
4月28日是您的还款日,您应该还款的金额是:103.720000
5月28日是您的还款日,您应该还款的金额是:102.480000
6月28日是您的还款日,您应该还款的金额是:101.240000
需要还款总的利息为: 91.120000
需要还款总的金额为: 1291.120000
————————————————————————————————————————————————
*/
具有还款功能:
/*
2017年6月11日10:15:49
功能:计算蚂蚁借呗的利息,具有还款功能
缺点:本程序没有判断年份是否为闰年
借款当日的时间需要手动输入,年份不能以特定的格式显示
*/
#include "stdio.h"
#define M 0.0004 //符号之间都只有一个空格
int main()
{
double money , money_end, money_sum = 0, pro, pro_end = 0, fenqi_money, huankuan_money = 0;
int month , month_end, day, day_end, times;
printf("请输入需要借款的金额和借款的时间 : ");
scanf("%lf",&money);
printf("the start_time is :");
scanf("%d.%d",&month,&day);
printf("请选择将分期的时间:");
scanf("%d",×);
day_end = 28;
month_end = month ;
fenqi_money = money / times;
for(int i = 1; i <= times && money; i++,month_end++)
{
if(month_end == 2 )
{
pro = 0; //每个月的利息都重新换算
if(day >= 28) //如果在一个月的28号之后借钱,则将28号之后的日期与下个月28号之前的时间一起算利息
{
for(int j = day; j <= 29; j++)
{
pro += M * money; //算术计算一定要赋初值
}
for(int k = 1; k < 28 ; k++)
{
pro += M * money;
}
}
else
{
for(int k = day; k < 28 ; k++)
{
pro += M * money;
}
}
pro_end += pro;
money_end = pro + fenqi_money;
month_end = month_end % 12;
day = day_end;
printf("%d月%d日是您的还款日,您应该还款的金额是:%lf\n ", month_end+1,day_end,money_end );
}
else if(month_end == 1 || month_end == 3 || month_end == 5 || month_end == 7 || month_end == 8 || month_end == 10 || month_end == 12)
{
pro = 0;
if(day >= 28)
{
for(int j = day; j <= 31; j++)
{
pro += M * money;
}
for(int k = 1; k < 28 ; k++)
{
pro += M * money;
}
}
else
{
for(int k = day; k <= 28 ; k++)
{
pro += M * money;
}
}
pro_end += pro;
money_end = pro + fenqi_money;
month_end = month_end % 12;
day = day_end;
printf("%d月%d日是您的还款日,您应该还款的金额是:%lf\n ", month_end+1,day_end,money_end );
}
else if(month_end == 4 || month_end == 6 || month_end == 9 || month_end == 11 )
{
pro = 0;
if(day >= 28)
{
for(int j = day; j <= 30; j++)
{
pro += M * money;
}
for(int k = 1; k <= 28; k++)
{
pro += M * money;
}
}
else
{
for(int k = day; k <= 28; k++)
{
pro += M * money;
}
}
pro_end += pro;
money_end = pro + fenqi_money;
month_end = month_end % 12;
day = day_end;
printf("%d月%d日是您的还款日,您应该还款的金额是:%lf\n ", month_end+1,day_end,money_end );
}
printf("请输入您想要还款的金额:");
scanf("%lf",&huankuan_money);
money = money - huankuan_money;
money_sum += (huankuan_money + pro);
}
printf("需要还款总的利息为: %lf\n",pro_end);
printf("需要还款总的金额为: %lf\n",money_sum);
return 0;
}
/*
总结:
在vc++6.0中显示的结果:
————————————————————————————————————————————————
请输入需要借款的金额和借款的时间 : 1200
the start_time is :6.9
请选择将分期的时间:12
7月28日是您的还款日,您应该还款的金额是:109.600000
请输入您想要还款的金额:200
8月28日是您的还款日,您应该还款的金额是:112.400000
请输入您想要还款的金额:400
9月28日是您的还款日,您应该还款的金额是:107.440000
请输入您想要还款的金额:100
10月28日是您的还款日,您应该还款的金额是:106.200000
请输入您想要还款的金额:300
11月28日是您的还款日,您应该还款的金额是:102.480000
请输入您想要还款的金额:100
12月28日是您的还款日,您应该还款的金额是:101.240000
请输入您想要还款的金额:100
需要还款总的利息为: 39.360000
需要还款总的金额为: 1239.360000
————————————————————————————————————————————————
*/