发布时间:2023-10-04 02:13:17 文章来源:互联网
微博 微信 QQ空间

c语言存款利率问题,银行提高存款利率

这篇文章给大家聊聊关于c语言存款利率问题,以及银行提高存款利率对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

题目要求计算存款利息,计算公式为interest=money×(1+rate)^year?money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。

输入格式:

输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。

输出格式:

在一行中按“interest=利息”的格式输出,其中利息保留两位小数。

输入样例:

100030.025

输出样例:

interest=76.89

思路:按照公式计算结果,其中a的b次方==pow(a,b),需要引用#include<math.h>

浮点型常量浮点型即生活中使用的小数类型(例如3.14),例如账户的余额,银行的存款利率等等都是浮点型。C语言中按照精度的不同分别使用float,double和longdouble表示,默认浮点类型是double,float占据四个字节,double占据8个字节,longdouble大于等于8个字节,Windows32位和64位系统longdouble都是8个字节,Ubuntu18.04系统下longdouble是占据16个字节。浮点数的常量可以使用十进制的小数和科学计数法表示,科学计数法可以存储特大或者特小的数字浮点数变量在初始化浮点数变量时,默认值建议为0.0或者0.0f,赋值时变量的值和变量的类型保持一致。

printf()函数输出float类型的变量使用格式符%f,输出double类型的变量使用%lf。浮点型极限C语言在limits.h的头文件中使用常量定义了float和double以及longdouble的极限值,我们可以使用sizeof()关键字求出float,double和longdouble的字节数量以及使用常量FLT_MAX,FLT_MIN求出float表示的最大值和最小值以及DBL_MAX,DBL_MIN求出double所能表示的最大值和最小值。

在windows上double和longdouble是等价的,但是在Linux(例如Ubuntu18.04上)longdouble是占据16个字节,这也就意味着longdouble的极限比double更大。浮点数在内存中的存储首先明确一点,无论是整型、浮点型还是字符等等数据类型在计算机底层都是以二进制的方式存储的。浮点数在内存中的存储和整数不同,因为整数都可以转换为一一对应的二进制数据。而浮点数的存储是由符号位(sign)+指数位(exponent)+小数位(fraction)组成。

其中float是由1位符号位+8位指数+23位小数组成,而double是由1位符号位+11位指数位+52位小数位组成。

int和float同样占据四个字节的内存,但是float所能表示的最大值比int大得多,其根本原因是浮点数在内存中是以指数的方式存储。我们都知道在内存中,一个float类型的实数变量是占据32位,即32个二进制的0或者1组成从低位依次到高位叫第0位和第31位,这32位可以由三部分组成:符号位:第31位数表示符号位,如果为0表示整数,如果为1表示负数指数:第23位到第30位,这8个二进制表示该实数转化为规格化的二进制实数后的指数与127(127即所谓的偏移量)之和所谓阶码,规格化的二进制实数只能在-127-127之间。

小数位:第0位到第22位,最多可以表示23位二进制小数,否则超过了就会产生误差。浮点数相等性判断float占据四个字节,提供的有效位是6-7位,而double占据八个字节,提供的有效位数是15-16位,如果在使用float或者double表示实数时超过有效数字,若拿来进行关系运算(例如等于)的话,会得到一个错误的结果。

关于c语言存款利率问题和银行提高存款利率的内容到此结束了,希望对大家有所帮助。

另一视角

换一换