模拟蚂蚁借呗—利息计算
程序的源代码如下:
/* 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 ———————————————————————————————————————————————— */