相信大家在做题时,应该都会有这样的感觉,明明是一个简单的语法,却要每次都重复写下来,一个语法复杂而且容易出错,改半天却找不到点。特别是对于一些数学基础较差的同学,可能会经常在数学式子上出错。
本期,就通过一道例题为大家讲述一下函数的用法。
1016:银行利率
-
题目描述
设银行1年期定期存款年利率为2.25%,存款本金为deposit元,试编程计算并输出n年后的本利之和。 -
输入
输入一个正整数和一个实数,分别代表存款年数和存款本金。 -
输出
输出一个双精度实数,小数点后保留6位有效数字。 -
参考代码:
#include<stdio.h>
#include<math.h>
#define RATE 0.0225
main()
{
int a;
double b;
double c;
scanf("%d%lf",&a,&b);
c=b*pow(1+RATE,a);
printf("%.6f\n",c);
return 0;
}
- 代码解析:
本题中,大家应该能看到两个新鲜的事物,一个是头文件#include<math.h>,一个是pow()函数。
1.math.h头文件指的是引用math函数库,只有在头文件上标明了这个库,下面我们才可以使用里面的函数,具体的函数比较多,需要解决数学问题时不妨好好看看这个库有没有自己需要的函数可以调用→math函数库
2.pow()函数的作用是 用来求 x 的 y 次幂(次方),x、y及函数值都是double型 ,其原型为:
double pow(double x, double y);
让我们回到题目本身,题目要求计算n年后的本利之和。年利率为2.25% 本金为一个参数,需要计算本金×利息+上本金的总和。
让我们梳理一下计算过程 ,设本金为1w(万),我们要计算2年后的本利之和,这样的话,它第一年的利息就是10000×2.25%=225;这样第一年结束的本金就变成了10225;我们要把这笔钱重新存进去,它这时再计算利息的时候就成了,10225×·2.25%=230.0625;最后得出得本利之和为10455.0625;是不是光看过程觉得特别复杂,如果把这段过程的相同数据合并一下,变成10000×(1+0.0225)²=10455.0625,是不是瞬间就简单多了。所以,我们在这里要引用一个求幂函数的函数pow函数,把代码简单化。
网友评论