高手帮看看这道C语言

来源:百度知道 编辑:UC知道 时间:2024/09/28 13:24:58
是一道银行的利率题 就是输入本金和年份来确定收益 其中利率是2.25%

#include<stdio.h>
#include<math.h>
main()
{
double deposit,capital,rate=1.0225;
int n;
printf("enter capital:");
scanf("%f",&capital);
printf("enter n:");
scanf("%d",&n);
deposit=capital*pow(rate,n);
printf("after%d years the deposit=%f\n",n,deposit);
}

编译连接通过
但是不管输入什么结果都是0.000000
什么原因?

#include<stdio.h>
#include<math.h>
main()
{
double deposit,capital,rate=1.0225;
int n;
printf("enter capital:");
scanf("%lf",&capital);//这里改成%lf就可以了。
//一个DOUBLE的数,无法放进一个单精度浮点数里面。因为里面的空间不够。
//所以你的capital前面证书部分都没有放进去。只剩下了0.0000000.
printf("enter n:");
scanf("%d",&n);
deposit=capital*pow(rate,n);
printf("after%d years the deposit=%f\n",n,deposit);
}