/* 小明在攒够房子的首付款后 一次性地向银行贷款借了a元钱,并约定分b个月还清。 如果银行要求每月还贷c元钱,请问月利率x是多少(按照复利计息法计算)? 提示:按照复利计息法,第一个
#include <stdio.h> #include <math.h> #include <stdlib.h> //float dichotomy(float); //int isans(float n, float x,float c,int b);//分号. /* fabs和abs; 功能不同: fabs函数功能为:求浮点数x的绝对值。ABS函数的功能为求整数的绝对值。 4、引用的头文件不同: abs函数引用的头文件:stdlib.h,fabs函数引用的头文件为math.h。 */ float still_owe(float x, float n, float a, int b, float c);//欲求出欠款n关于利息x的函数,参数较多,因为需要借助迭代 int main() { /* 定义了不少变量,务必在运行之前检查下类型 包括自定义的函数原型(定义和声明中)的参数变量类型*/ float a = 0, x = 0; float c = 0;/* 每个月的还款数额 */ int b;//分b个月来还 float n = 0;/* still_owe_money */ /* 二分法左边界 */ float left = 0.000000; float right = 1.000000;// float value_left = 0, value_right = 0, value_mid = 0; int i;/* 循环变量 */ // x = (left + right)/2.0;/* 最终的x将会是某个足够小的二分区间中间值mid // x是需要被迭代的,应该放在某个循环中去. */ //printf("test_new_2\n"); scanf("%f%d%f", &a, &b, &c); n = a; value_left = still_owe(left, n, a, b, c); value_right = still_owe(right, n, a, b, c); x = (left + right) / 2.0; value_mid = still_owe(x, n, a, b, c); for (; fabs(value_right - value_left) > 0.0001; x = (left + right) / 2.0) { /* 函数值赋值,这些值也需要及时迭代 */ value_left = still_owe(left, n, a, b, c); value_right = still_owe(right, n, a, b, c); //x = (left + right) / 2.0; value_mid = still_owe(x, n, a, b, c); // if(abs(value_right - value_left)<0.000001)/* 精度交给区间边界值 */ // printf("%.6f",x); // else /* 精度不满足要求.需要调整区间边界,提高精度 */ /* 调整之前,还需要求函数值(中间变量的函数值): value_mid = still_owe(x,n,a,b,c); 对函数值进行判断(零点存在性定理) */ /* 若,零点在原区间左半边 */ if (value_left * value_mid <= 0) right = x;//迭代边界值 /* 若零点在有半边 */ else { left = x; } //printf("working\n"); } printf("%.3f%%\n", x * 100);//%.nf可以自动四舍五入 return 0; } float still_owe(float x, float n, float a, int b, float c) { n = a; for (int i = 0; i<b; i++) { n = n*(1 + x) - c; } return n; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-03-08 windows上命令行@文件内容查看方案@行号显示@nlps@cat -n