#include <stdio.h>
#include <math.h> // 使用pow 引入math.h
int main() {
float money, rate, sum; //使用double对应用%lf否则输出不了
int year;
printf("请输入存款金额(元):");
scanf("%f", &money);
printf("请输入存期(年):");
scanf("%d", &year);
printf("请输入年利率(百分比):");
scanf("%f", &rate);
sum = money * pow(1 + rate, year); //pow(x,y)表示x的y次方
printf("合计为:%.2f元\n", sum); //sum保留两位小数
return 0;
}
疑惑点1: double和float区别
写代码的时候发现浮点数类型两个不知道选哪一个,经查询发现:
double和float是C++中两种不同的浮点数类型。它们的区别在于它们所占用的内存空间大小和存储精度。具体来说,float数据类型占用4个字节(32位),可以表示的有效数字为6位。而double数据类型占用8个字节(64位),可以表示的有效数字为15位。
也就是说精度不同,最直观来说有效数字不同,
float 能可靠表示6位十进制有效数字
double 能可靠表示15位十进制有效数字
本题选择哪一个均可
疑惑点2:有效数字是什么
有效数字是指从一个数的左边第一个非0数字起,到末位数字止,所有的数字都是这个数的有效数字。比如0.032,两个有效数字,0.0320,是三个有效数字。
而小数点不影响有效数字。