太平洋警察保太平:请问一道C语言题目?

来源:百度文库 编辑:高校问答 时间:2024/06/18 16:59:43
2.假定你以如下的信用方案购买了一套价值1000元的音响:没有现付,利率为每年18%(即每月1.5%),月供50元.每月的50元里包括支付利息,剩余额用来支付欠款.因此第一月付了1000元的1.5%,即15月作为利息.剩下的35元从欠款中扣除,即你的债务现在为965.00元.下一个月有支付了965.00元的1.5%作为利息.因此可以从剩余债务里再减去35.52元(即50元-14.48元)
编写一个程序,可以告诉你需要用多少个月才能偿还所有的债务,以及在整个债务期你所支付的利息总额.借助循环,计算利息额以及每个月后剩余的债务(程序最终不用输出每个月支付了多少利息及剩余债务).使用一个变量计算循环重复的次数,也就是直到债务为0的月份数.你也可以使用别的变量.最后付款额如果债务已经很小了,有可能少于50元,但同样别忘了利息.如果你负债50元,那么你月共50将不足以偿还你的债务,虽然也算很接近了.50月一个月的利息仅是75美分.
看在我辛辛苦苦打这么多字的份上回答我的问题吧.我做出个死循环.

#include <stdio.h>

int Pay(double *fOwn, double fPay, double fRate, int *n)
{
(*fOwn)=(*fOwn)*(1+fRate)-fPay;
(*n)++;
return (*fOwn)*(1+fRate)>50;
}

int main(int argc, char *argv[])
{
double fOwn=1000;
double fRate=0.015;
double fIntrest=0;
int n=0;
double fPay=0;
//计算每月支付
while(Pay(&fOwn, 50, fRate,&n))
;
//计算最后一个月支付
fPay=n*50+fOwn*(1+fRate);
n++;

printf("在%d个月里支付了%f元",n,fPay);
return 0;
}
--------
在24个月里支付了1197.826772元